1.go语言vscode集成开发环境搭建
<p></p><div class="toc"><div class="toc-container-header">目录</div><ul><li>本篇概要</li><li>集成开发环境工具(ide)<ul><li>Goland或IntelliJ IDEA</li><li>Visual Studio Code</li><li>其他集成开发环境</li></ul></li><li>Visual Studio Code的go语言开发环境搭建<ul><li>Visual Studio Code安装</li><li>go编译环境安装</li><li>配置go环境变量</li><li>安装go语言插件</li><li>使用golang编程</li></ul></li><li>本篇小结</li><li>下篇预告</li></ul></div><p></p><h2 id="本篇概要">本篇概要</h2>
<p>搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度。</p>
<h2 id="集成开发环境工具ide">集成开发环境工具(ide)</h2>
<p>这里我主要介绍从我2016年开始学习go语言以来使用过的go语言的所有集成开发环境工具,如果你对这段没有兴趣,可以直接跳过。</p>
<h3 id="goland或intellij-idea">Goland或IntelliJ IDEA</h3>
<p>这是我较早使用的集成开发环境工具,Goland或IntelliJ IDEA等JetBrains产品是非常优秀的go语言集成开发环境工具,其中IntelliJ IDEA更是一个几乎所有主流语言的集成开发环境工具。</p>
<p>Goland或IntelliJ IDEA是目前我用过的最好的go语言集成开发环境,它比其他开发环境优秀的地方是对于go语言接口的完美支持。它不仅可以快速检索哪些go语言的机构体实现了一个go语言接口,而且<strong>能快速检索一个go语言的机构体是否实现某个go语言接口</strong>,而其他集成开发环境并不能完美做到这一点(事实上这点很重要,go语言是面向接口的,而且是隐式的)。如果你是一个初学go语言的开发者,我强烈推荐你使用这个集成开发环境工具!另外,它配置非常简单,对新进的开发者也极其友好,你肯定会喜欢上它的开发环境和插件。</p>
<p>但是这个工具的唯一缺点就是每年需要你投入一定的资金(现在第一年US $99.00)购买许可证,当然每年的许可费用会越来越便宜,另外如果你是学生,可以免费白嫖这个工具。</p>
<h3 id="visual-studio-code">Visual Studio Code</h3>
<p>Visual Studio Code简称vscode,这是我现在使用的集成开发环境,而且是虽然它不如Goland或IntelliJ IDEA,但是它支持go语言google开发团队开发的官方语言服务器gopls,在go语言1.13时代之后官方语言服务器gopls已经逐步替代了许多其他的go语言工具,另外我觉得Visual Studio Code是目前免费go语言集成开发工具做的最好的,由于它对官方语言服务器的支持,为此Visual Studio Code在go语言编程时支持go mod依赖,代码补全,语义检查等等方面支持都很好。</p>
<h3 id="其他集成开发环境">其他集成开发环境</h3>
<p>其他的我还使用过的ide工具,如(sublime text 3)以及LiteIDE,就不详细介绍了。</p>
<p>另外,还有我没使用过但听过的go语言集成开发环境,Eclipse,Atom,Emacs。</p>
<h2 id="visual-studio-code的go语言开发环境搭建">Visual Studio Code的go语言开发环境搭建</h2>
<p>这里主要介绍了windows操作系统的搭建</p>
<h3 id="visual-studio-code安装">Visual Studio Code安装</h3>
<p>可以从官网下载Visual Studio Code,<strong>注意:下载可能会很慢</strong></p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213549032-2061342374.png"></p>
<p>按照指引,点击下一步</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213625882-1418538869.png"></p>
<p>注意选择以上并且不断点击下一步即可完成安装</p>
<h3 id="go编译环境安装">go编译环境安装</h3>
<p>从go安装软件官网下载合适的go编译环境,例如本次我下载的版本是go1.20.7.windows-amd64.msi,需要注意的是go语言的镜像官网不仅仅提供下载,请好好探索一下它,后面的篇章中我还会详细提及它的强大作用。</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213642783-764346306.png"></p>
<p>同意协议后,选择安装路径,请记住这个路径,然后按next完成安装</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213840116-952035750.png"></p>
<h3 id="配置go环境变量">配置go环境变量</h3>
<p>右击电脑,点击属性后出现以下页面</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213857192-710491237.png"></p>
<p>点击高级选项,如下点击</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213918987-1173900621.png"></p>
<p>如下点击新建环境变量</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213944927-321977027.png"></p>
<ol>
<li>变量名:GOROOT 变量值:E:\lang\go ,这是go语言的编译环境安装目录,如上所示。</li>
<li>变量名:GO111MODULE 变量值:on,这是go语言的第三方模块依赖的。</li>
<li>变量名:GOPROXY 变量名:https://goproxy.cn,direct , 这是go语言的代理,用于能够正常访问一些Google的go语言的资源。</li>
<li>变量名:GOPATH 变量名:E:\projects 这是go语言的项目位置。</li>
</ol>
<p>如下图将%GOROOT%\bin加入path</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813213955808-262116695.png"></p>
<p>之后不断确认你打开的所有窗口,建议重启后,使用win+R打开cmd输入以下命令检查是否正常安装</p>
<pre><code class="language-bash">go version
go version go1.20.7 windows/amd64
</code></pre>
<h3 id="安装go语言插件">安装go语言插件</h3>
<p>在vscode插件市场选择go语言</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813214018095-949545473.png"></p>
<p>安装完后选择编辑go语言插件配置</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813214025977-1353249894.png"></p>
<p>直接在json文件中编辑</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813214037531-1891426505.png"></p>
<p>如下:</p>
<pre><code class="language-bash">{
"go.gopath": "E:\projects"
}
</code></pre>
<p>在E:\projects下建立如下文件夹bin,pkg,src</p>
<pre><code class="language-bash">-----+---bin
+---pkg
+---src
</code></pre>
<p>安装go语言插件的依赖软件,使用Ctil+Shift+P</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813214059745-297204512.png"></p>
<p>选择安装所有插件</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813214109850-2125806095.png"></p>
<p>以下是安装完的场景</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813214139743-2009632694.png"></p>
<h3 id="使用golang编程">使用golang编程</h3>
<p>在E:\projects\src下建立如下文件github.com/Breeze0806/test/main.go</p>
<pre><code class="language-bash">-----+--bin
+--pkg
+--src--+--github.com--+--Breeze0806--+--test--+--main.go--
</code></pre>
<p>另外加入vscode的项目配置,在.vscode/setting.json配置以下项目:</p>
<pre><code class="language-json">{
"go.formatTool": "goimports",
"go.lintOnSave": "package",
"go.vetOnSave": "package",
"go.useLanguageServer": true,
"": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true,
},
// Optional: Disable snippets, as they conflict with completion ranking.
"editor.snippetSuggestions": "none",
},
"": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true,
},
},
"gopls": {
// Add parameter placeholders when completing a function.
"usePlaceholders": true,
// If true, enable additional analyses with staticcheck.
// Warning: This will significantly increase memory usage.
"staticcheck": false,
},
"go.languageServerFlags": [
"-rpc.trace", // for more detailed debug logging
"serve",
"--debug=localhost:6060", // to investigate memory usage, see profiles
],
"go.coverOnSave": true,
"go.coverOnSingleTest": true,
"go.coverOnSingleTestFile": true,
"go.coverShowCounts": true,
"go.testOnSave": false,
"go.testFlags": [],
"go.lintTool": "golint"
}
</code></pre>
<p>在main.go中写入以下程序</p>
<pre><code class="language-go">package main
func main(){
fmt.Println("Hello")
}
</code></pre>
<p>使用go mod 命令建立项目</p>
<pre><code class="language-bash">go mod init github.com/Breeze0806/test
go mod tidy
go run main.go
</code></pre>
<p>如图test目录下多了go.mod,输出结果为Hello</p>
<p><img src="https://img2023.cnblogs.com/blog/878843/202308/878843-20230813215130071-1406831628.png"></p>
<h2 id="本篇小结">本篇小结</h2>
<p>本篇讨论了go语言的当前所有的集成开发环境,并且介绍了Visual Studio Code的windows操作系统下的go语言开发环境搭建,那么其他操作系统有没有办法搭建?有的,由于楼主使用的windows系统,其实unbuntu或者mac的搭建方式类似。</p>
<h2 id="下篇预告">下篇预告</h2>
<p>《go语言的数据类型那点事》</p><br><br>
来源:https://www.cnblogs.com/onlyac/p/17627352.html
頁:
[1]