如何在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.buildOnSavego.buildFlagsgo.vetOnSavego.vetFlagsgo.lintOnSavego.lintFlagsgo.lintToolgo.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 ...
随机推荐
- 寻路优化(二)——二维地图上theta*算法的设计探索
这篇文章是基于上一篇文章的研究上进行的,使得路径更加的平滑和自然,特此记录.有错误欢迎大家批评指正.如需转载请注明出处,http://www.cnblogs.com/Leonhard-/p/68660 ...
- python技巧 列表推导
val = [expression for value in collection if condition] 等价于 val = []for value in collection: if c ...
- Node、PHP、Java 和 Go 服务端 I/O 性能PK
http://blog.csdn.net/listen2you/article/details/72935679
- Database学习 - mysql 数据库 事务操作
事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 数据库开启事务命令: start transaction 开启事务 rollback 回滚事务,即撤销指定的 ...
- GCC的符号可见性——解决多个库同名符号冲突问题
引用自:https://github.com/wwbmmm/blog/wiki/gcc_visibility 问题 最近项目遇到一些问题,场景如下 主程序依赖了两个库libA的funcA函数和libB ...
- [转] bss段、data段、text段
1.前言 一个程序本质上都是由 BSS 段.DATA段.TEXT段三个组成的. 本文主要分编译时和运行时分别对 对data段 bss段 text段 堆 栈作一简要说明 2. 程序编译时概念说明 程序与 ...
- centos7.2环境下安装smokeping对网络状态进行监控
centos7.2环境下安装smokeping对网络状态进行监控 安装smokeping建议用centos7,用centos6.5一直卡在smokeping那里,下载不了perl的扩展插件,可能是因为 ...
- mac安装RabbitMQ
1 下载 地址 http://www.rabbitmq.com/install-standalone-mac.html 2 rabbitmq的安装目录: /Users/ysyc1/rabbitmq_s ...
- xcode 8 清除无用的打印
OS_ACTIVITY_MODE disable 虽然模拟器这样写能屏蔽掉无用的打印,但是在真机测试的时候什么都不会打印 Nslog 也打印不出来 , 这时候就要点掉 OS_ACTIVIT ...
- Oracle 高级排序函数 和 高级分组函数
高级排序函数: [ ROW_NUMBER()| RANK() | DENSE_RANK ] OVER (partition by xx order by xx) 1.row_number() 连续且递 ...