IntelliJ IDEA 搭建 Go 开发环境
<p>本文介绍 Windows7 x64 基于 IntelliJ IDEA 搭建 Go 语言开发环境。主要是一些操作过程截图以及简单文字描述,如有不清楚的地方,欢迎指正。所有软件使用当前(2016.12.02)最新版本,旧版或新版可能存在细微差异。</p><p>一、网络代理软件 cntlm<br>
从 这里 下载最新 0.92.3 版本 cntlm。cntlm 作用是方便在 Windows 下执行 go get 。参照以下注意事项,并保留监听端口为默认的 3128,其它具体安装及配置参考《cntlm内网代理的代理》。<br>
注意事项:</p>
<ol>
<li><p>确保 cntlm.ini 有以下这些配置项<br>
Username <工号><br>
Domain china<br>
Auth NTLM<br>
PassNT <按实际配置><br>
PassLM <按实际配置><br>
Proxy XXXX:8080<br>
NoProxy localhost, 127.0.0.<em>, 10.</em>, 192.168.*<br>
Listen 3128</p></li>
<li><p>必须安装在默认路径 C:\Program Files (x86)\Cntlm,非默认路径会有 问题</p></li>
<li><p>Windows 下的 cntlm 服务不稳定,有时需手动重启下服务恢复,原因未知。我在桌面创建了一个cntlm.bat,如果网络访问有问题,执行 cntlm.bat 重启下服务(可以考虑将 cntlm 放在 Linux 或 docker 中运行,服务会比较稳定。我就把 cntlm 放在 docker 中运行,如果你已有 docker 环境,可以找我要镜像)。<br>
cntlm.bat 文件内容如下:<br>
net stop cntlm<br>
net start cntlm</p></li>
<li><p>安装配置后,记得启动服务,可直接运行 cntlm.bat</p></li>
</ol>
<p>二、Go 1.7.4<br>
下载 go1.7.4.windows-amd64.msi,保留默认安装路径(C:\Go\),一路 Next 。<br>
配置环境变量(右击 计算机 -> 高级系统设置 -> 高级 -> 环境变量):</p>
<ol>
<li><p>添加环境变量 GOPATH ,值为 D:\Codes\go</p></li>
<li><p>将 D:\Codes\go\bin 添加到 PATH,方便执行其目录下的程序</p></li>
</ol>
<p>三、Git v2.11.0.windows.1<br>
下载 64-bit Git for Windows Setup,保留默认安装路径(C:\Program Files\Git)及所有默认配置,一路 Next。</p>
<p>打开 Git Bash(在桌面右击鼠标 -> Git Bash here),执行 Git 基本配置:</p>
<ol>
<li><p>用户和邮箱<br>
git config --global user.name XXXX<br>
git config --global user.email XXXX</p></li>
<li><p>支持长路径<br>
git config --global core.longpaths true</p></li>
<li><p>导出和提交时不做文本格式转换<br>
git config --global core.autocrlf false</p></li>
<li><p>配置网络代理,使用上面 cntlm 服务<br>
git config --global http.proxy 127.0.0.1:3128</p></li>
<li><p>不校验ssl证书<br>
git config --global http.sslVerify false</p></li>
</ol>
<p>四、Go 命令行工具<br>
这篇文章 提到 10+ 个命令行工具,其中比较有用的是 goimports 和 golint,以下以安装这两个工具为例,如需安装其它工具,操作步骤类似。<br>
golang.org/x 仓库即使 FQ 也访问不了,一般做法是从 GitHub 镜像仓库下载,放置在 golang.org/x 对应路径,再执行安装。Git Bash 中执行:</p>
<ol>
<li><p>安装 goimports<br>
export GOPATH="D:\Codes\go"<br>
git clone https://github.com/golang/tools.git $GOPATH/src/golang.org/x/tools<br>
go install golang.org/x/tools/cmd/goimports</p></li>
<li><p>使用 go get 安装 golint(依赖上一步下载的 golang.org/x/tools 包)<br>
go get -v github.com/golang/lint/golint</p></li>
</ol>
<p>如果执行失败,排查上述操作步骤并重启 cntlm 服务,打开一个新的 Git Bash 试试;执行成功会生成两个可执行程序(后面 File Watchers 插件会用到)。</p>
<p>注:开发过程,依赖 GitHub 的包,也可以使用 go get 下载。</p>
<p>五、IntelliJ IDEA 2016.3<br>
下载 IntelliJ IDEA 免费版,保留默认安装路径,一路 Next。</p>
<p>安装后,运行 IDEA:</p>
<ol>
<li><p>如果之前安装过旧版本,继承之前配置选择第1项;否则默认第2项即可</p></li>
<li><p>选择自己喜欢的皮肤,其它一路 Next</p></li>
</ol>
<p>六、安装 IDEA 插件<br>
6.1 访问插件仓库需要配置网络代理(安装完插件后,可以去掉配置)</p>
<p>碰到这样的对话框一律"Accept"</p>
<p>或者勾选以下复选框</p>
<p>6.2 搜索并安装 Go 和 File Watchers,2个插件安装完后重启 IDEA</p>
<p>6.3 配置 Go 插件</p>
<p>6.4 创建 hello 工程</p>
<p>工程路径没有要求,建议先放在 D:\Codes\go\src\hello</p>
<p>注意:.idea 和 hello.iml 由 IDEA 自动生成和管理,不要手工修改。</p>
<p>创建 go 源文件 main.go</p>
<p>写一段简单代码,验证运行是否正常</p>
<p>运行结果</p>
<p>6.5 配置 File Watchers 插件<br>
File Watchers 是工程级别的设置,所以要在上一步工程的基础上操作<br>
File -> Settings... -> Tools -> File Watchers</p>
<p>-w $FilePath$</p>
<p>-set_exit_status $FilePath$</p>
<p>将File Watchers 配置导出,保存在用户 home 目录下</p>
<p>以后创建新工程,直接导入该配置,避免重复配置(点第1个按钮切换到用户 home 目录)</p>
<p>编辑 .go 文件后保存,goimports 会对代码进行格式化(这里仅缩进对齐)</p>
<p>格式化后效果如下</p>
<p>golint 会检查编程风格(这里提示变量名不要使用下划线)</p>
<p>七、IDEA 使用<br>
7.1 运行配置</p>
<p>已存在一个配置项 "Build main.go and run"(这是刚才执行运行生成的)</p>
<p>点击左上角 "+" 按钮,可以创建新的运行配置</p>
<p>配置项命名为 hello,以 Package 方式运行 hello 包,可执行程序存放目录、运行目录设置为 D:\Codes\go\bin</p>
<p>下拉框选择 hello,点击执行按钮</p>
<p>生成的可执行文件放置到指定输出目录</p>
<p>7.2 调试<br>
鼠标左击编辑框行号位置,可以打断点,点击调试按钮启动调试</p>
<p>IDEA 使用了 Go 插件自带的 delve 工具进行调试</p>
<p>点击 "Debugger" 标签页可以查看调用栈,变量等信息</p>
<p>7.3 libraries 设置<br>
IDEA 的 Go 工程默认会加载 GOPATH 环境变量,GOPATH 可以配置多个目录,允许代码分散在多个目录中。<br>
关于如何组织代码,是个持续争论的话题...</p>
<p>虽然代码组织方式灵活,但也存在麻烦。在版本控制系统(svn,git)中,如果代码分散在多个地方,很容易漏提交 -- 自己环境上能够运行的工程,遗漏提交其它目录下的依赖包,别人导出的代码运行不了。一种方法是不使用 GOPATH,依赖包通过 vendor 机制和代码放在唯一目录下,也提交到版本库,IDEA 工程仅添加版本库导出目录(bin/pkg/src的父目录)到 "Project libraries"。</p>
<p>八、IDEA 的一些设置<br>
从 File -> Settings... 打开设置窗口</p>
<ol>
<li><p>不打开上次工程<br>
Appearance & Behavior -> System Settings<br>
去掉 Startup/Shutdown -> Reopen last project on startup</p></li>
<li><p>退出时不需确认<br>
Appearance & Behavior -> System Settings<br>
去掉 Startup/Shutdown -> Confirm application exit</p></li>
<li><p>去掉拼写检查<br>
Editor -> Inspections<br>
去掉 Spelling -> Typo</p></li>
<li><p>显示行号<br>
Editor -> General -> Appearance<br>
勾选 Show line numbers</p></li>
<li><p>编辑器字体<br>
Editor -> Colors & Fonts -> Fonts</p></li>
<li><p>控制台字体<br>
Editor -> Colors & Fonts -> Console Fonts</p></li>
<li><p>换行符<br>
Editor > Code Style<br>
Line Separator (for new files),最好设置为 Unix and OSX(\n)</p></li>
<li><p>缩进格式<br>
Editor -> Code Style -> Go</p></li>
<li><p>终端<br>
Tools -> Terminal<br>
Shell Path 设置为 "C:\Program Files\Git\bin\bash.exe" --login -i<br>
Git Bash 提供比 cmd.exe 多得多的功能,墙裂建议将终端设置为 Git Bash,开发过程可以在其中执行很多命令!</p></li>
</ol>
<p>遗留:<br>
IDEA 还支持 MacOS 和 Linux,通过 X Server 能够在 Windows 远程运行 Linux IDEA,方便调试 Linux 上的代码,后续再补充。</p>
</article><br><br>
来源:https://www.cnblogs.com/jpfss/p/11781430.html
頁:
[1]