如何在VS Code中进行golang编程
在VS Code中编程
使用Visual Studio Code的Go扩展,您可以获得诸如IntelliSense,代码导航,符号搜索,括号匹配,片段等语言功能,这些功能将帮助您进行Golang开发。
您可以从VS Code Marketplace安装Go扩展。
智能感知
自动完成
当您输入Go文件时,您可以看到IntelliSense为您提供建议的完成。这甚至适用于当前,导入和尚未导入的包中的成员。只需键入后面的任何包名称.
,您将获得相应包成员的建议。
通过设置go.autocompleteUnimportedPackages
到true
在你的设置,你也可以得到你可以导入包建议。选择其中一个建议,将对所选包的导入添加到您的文件中。
提示:使用^ Space来手动触发建议。
悬停信息
将鼠标悬停在任何变量,函数或结构上将为您提供有关该项目的信息,例如文档,签名等。
默认情况下,扩展程序使用godef
和godoc
获取此信息。您可以gogetdoc
通过更改“ go.docsTool
用户”或“工作区设置”中的设置来选择使用。
签名帮助
当您打开(
while调用函数时,弹出窗口会为该函数提供签名帮助。当您继续键入参数时,提示(下划线)将移至下一个参数。
提示:当光标位于函数调用中时,使用⇧⌘Space手动触发签名帮助
()
。
扩展程序的签名帮助也使用godef
和godoc
。您可以gogetdoc
通过更改“ go.docsTool
用户”或“工作区设置”中的设置来选择使用。
代码导航
代码导航功能在编辑器的上下文菜单中提供。
- 转到定义 F12 - 转到类型定义的源代码。
- 皮克定义 ⌥F12 -弹出一个窗口,皮克与类型定义。
- 查找所有参考文献 ⇧F12 - 查找该类型的所有参考文献。
您可以使用命令选项板(⇧⌘P)中的“ 转到符号”命令通过符号搜索进行导航。
- 转到文件中的符号 - ⇧⌘O
- 转到工作区中的符号 - ⌘T
您还可以使用Go:Toggle Test File命令在Go文件及其测试实现之间来回导航。
建造,棉绒和兽医
在保存时,可以运行Go扩展go build
,go vet
并在当前文件的包上选择linting工具(golint
或gometalinter
)。您可以通过以下设置控制这些功能:
go.buildOnSave
go.buildFlags
go.vetOnSave
go.vetFlags
go.lintOnSave
go.lintFlags
go.lintTool
go.testOnSave
运行上述任何/所有的错误和警告将在编辑器中显示红色/绿色波浪线。这些也显示在“ 问题”面板中(“ 查看” >“ 问题”)。
格式化
您可以使用⇧⌥F格式化Go文件,也可以通过命令选项板或编辑器中的上下文菜单运行“ 格式化文档”命令来格式化。
默认情况下,保存Go文件时会运行格式化。您可以通过设置go.formatOnSave
为禁用此行为false
。
您可以在三种格式工具选择:gofmt
,goreturns
并goimports
通过改变设置go.formatTool
。
测试
您可以通过在命令选项板中键入“Go:test”来探索许多与测试相关的命令。
上面的前三个可用于为当前包,文件或光标中的函数生成测试骨架gotests
。最后几个可用于在当前包,文件或光标中运行测试go test
。还有一个获取测试覆盖率的命令。
导入包
运行命令Go:Add Import以获取可导入Go文件的软件包列表。选择一个,它将添加到Go文件的导入块中。
重命名符号
您可以使用F2重命名符号,也可以在编辑器的上下文菜单中运行“ 重命名符号”命令。
调试
Go扩展允许您调试Go代码。您需要手动安装Delve调试器作为先决条件。使用VS Code阅读调试Go代码,了解安装步骤,远程调试信息和故障排除指南。
下一步
这是一个简短的概述,显示了VS Code中的Go扩展功能。有关更多信息,请参阅Go扩展自述文件中提供的详细信息。
要及时了解Go扩展的最新功能/错误修复,请参阅CHANGELOG。
如果您有任何问题或功能请求,请随时在Go扩展回购中登录。
如果您想了解有关VS Code的更多信息,请尝试以下主题:
如何在VS Code中进行golang编程的更多相关文章
- 如何在 VS Code 中搭建 Qt 开发环境
前言 VS Code 高大上的界面.强大的智能联想和庞大的插件市场,着实让人对他爱不释手.虽然可以更改 Qt Creator 的主题,但是 Qt Creator 的代码体验实在差劲.下面就来看看如何在 ...
- 如何在 VS Code 中为 Java 类生成序列化版本号
前言 IDEA 提供自动生成序列化版本号的功能,其实 VS Code 也可以,只是默认关闭了这个功能,下面就来看看如何开启这个功能吧. 配置过程 首先需要保证 VS Code 上安装了提供 Java ...
- 如何在 Qt Creator 中应用 one dark pro 主题
前言 Qt Creator 自带了几款主题,但是并不好看.在博客 <Qt Creator打造VScode one dark pro主题配色> 中给出了 one dark pro 主题的配置 ...
- 如何在"Visual Studio Code"中使用" Git" 进行版本控制
如何在"Visual Studio Code"中使用" Git" 进行版本控制 本来认为此类教程,肯定是满网飞了.今天首次使用VS Code的Git功能,翻遍了 ...
- 解决vs code中golang插件依赖安装失败问题
解决vs code中golang插件依赖安装失败问题 Installing github.com/nsf/gocode SUCCEEDED Installing github.com/uudashr/ ...
- 解决 VS Code 中 golang.org 被墙导致的 Go 插件安装失败问题
微软官方开发的 Go for Visual Studio Code 插件为 Go 语言 提供了丰富的支持.在 VS Code 中首次打开 Go 工作区后,VS Code 会自动检测当前开发环境为 Go ...
- 在Visual Studio Code中开发Office Add-in
作者:陈希章 发表于 2017年7月13日 上一篇 我介绍了如何在Visual Studio中开发Office Add-in,因为有标准的项目模板,一系列配套的工具,尤其是自带的一键调试功能,可以让开 ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- [Laravel-Swagger]如何在 Laravel 项目中使用 Swagger
如何在 Laravel 项目中使用 Swagger http://swagger.io/getting-started/ 安装依赖 swagger-php composer require zirco ...
随机推荐
- luogu P1344 [USACO4.4]追查坏牛奶Pollutant Control
传送门 要求断掉某些边使得两个点不连通,显然是最小割 但是要求选的边数尽量少,,, 可以考虑修改边权(容量),即把边权\(c\)改成\(c*(m+1)+1\) 没了 // luogu-judger-e ...
- Servlet.service() for servlet jsp threw exception
报错信息如下: org.apache.catalina.core.ApplicationDispatcher invoke 严重: Servlet.service() for servlet jsp ...
- 2018-2019-2 《网络对抗技术》Exp0 Kali安装 20165230
2018-2019-2 <网络对抗技术>Exp0 Kali安装 20165230 一.下载kali 下载地址 下载Kali Linux 64 bit VMware VM版本 下载vmwar ...
- EXT3.3.1在IE9 IE10click事件 失效怎么解决
各位Ext君有福了. var treePanel = new Ext.tree.TreePanel({ id:'treePanel_'+(menuIndex++),//让菜单id可控 title: t ...
- STOMP Over WebSocket
Show Table of Contents What is STOMP? STOMP is a simple text-orientated messaging protocol. It defin ...
- phpstudy中apache的默认根目录的配置
默认配置文件是:vhosts.conf. 安装laravel后需要把根目录配置到public. 下面的配置需要在本地计算机的host文件配置域名,一个是“localhost”,一个是“www.goho ...
- html5 postMessage解决跨域、跨窗口消息传递(转)
仅做学习使用,原文链接:http://www.cnblogs.com/dolphinX/p/3464056.html 一些麻烦事儿 平时做web开发的时候关于消息传递,除了客户端与服务器传值还有几个经 ...
- css之margin
参考地址:http://www.imooc.com/learn/680 标准盒模型 元素尺寸 可视尺寸-clientWidth(标准)——就是上图中的border box包含的尺寸. 占据尺寸-out ...
- hdu3193 降维+rmq
/* 给定n个数对(p,d),如果有这么一个数对(pi,di),其他所有的数对都不能严格小于这个数对 请求出有多少个这样的数对! 解法:对于数对(p,d),能找到在[1,p-1]之间的小于d的数对,那 ...
- hdu5289 ST表+二分
用裸的St表+暴力枚举查询时稳TLE的,可以枚举每个区间的起点+二分满足条件的区间右端,这样复杂度是O(nlogn) #include<iostream> #include<cstr ...