首页 > 学院 > 开发设计 > 正文

使用Jetbrains的Gogland IDE阅读Consul源码

2019-11-06 08:39:04
字体:
来源:转载
供稿:网友

IDE专业户 Jetbranins 为Go语言新推出了一款IDE, 名叫 Gogland, 目前还处于 PReview 版本,但是已经能正常使用了(https://www.jetbrains.com/go/)。IDE强大的定义跳转功能可以给我们的代码阅读提供极大的便利。本文介绍如何配置Gogland来阅读Consul代码,并不对源码本身做分析。

创建项目目录

通过命令行创建项目目录consul, 切换到该目录下,克隆项目代码:

mkdir consulcd consulgit clone git@github.com:hashicorp/consul.git src/github.com/hashicorp/consul --depth=1

这里我们利用 git clone命令自动创建好了go项目的目录结构,即src/github.com/hashcorp/consul

项目导入

打开Gogland,选择”open”, 找到刚刚创建的consul/目录,点OK: 这里写图片描述

项目打开后,由于 consul/目录并不在GOPATH下,因此会出现很多错误。这里我们并不需要”污染”我们全局的GOPATH,可以通过IDE设置仅对该项目有效的GOPATH: 菜单栏目点击 Gogland-EAP –> Preferences, 找到go标签下的gopath节点,在右侧Project GOPATH中指定项目目录: 这里写图片描述

确定以后,IDE依然提示有一些编译错误,这是因为consul的一些依赖没有被下载下来。具体依赖可以在GNUmakefile中找到:

go get github.com/elazarl/go-bindata-assetfs/...go get github.com/jteeuwen/go-bindata/...go get github.com/mitchellh/goxgo get golang.org/x/tools/cmd/covergo get golang.org/x/tools/cmd/stringer

执行完这些go get后编译错误可完全消息,此时就能使用IDE定义跳转功能了。

通过IDE运行项目

点击菜单中的 Run –> Edit Configurations, 配置如下图: 这里写图片描述

注意 Run kind 要选择 Package, Package path 就是项目的包名。 完成以后就能直接通过IDE运行、调试项目了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表