在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编程的更多相关文章

  1. 如何在 VS Code 中搭建 Qt 开发环境

    前言 VS Code 高大上的界面.强大的智能联想和庞大的插件市场,着实让人对他爱不释手.虽然可以更改 Qt Creator 的主题,但是 Qt Creator 的代码体验实在差劲.下面就来看看如何在 ...

  2. 如何在 VS Code 中为 Java 类生成序列化版本号

    前言 IDEA 提供自动生成序列化版本号的功能,其实 VS Code 也可以,只是默认关闭了这个功能,下面就来看看如何开启这个功能吧. 配置过程 首先需要保证 VS Code 上安装了提供 Java ...

  3. 如何在 Qt Creator 中应用 one dark pro 主题

    前言 Qt Creator 自带了几款主题,但是并不好看.在博客 <Qt Creator打造VScode one dark pro主题配色> 中给出了 one dark pro 主题的配置 ...

  4. 如何在"Visual Studio Code"中使用" Git" 进行版本控制

    如何在"Visual Studio Code"中使用" Git" 进行版本控制 本来认为此类教程,肯定是满网飞了.今天首次使用VS Code的Git功能,翻遍了 ...

  5. 解决vs code中golang插件依赖安装失败问题

    解决vs code中golang插件依赖安装失败问题 Installing github.com/nsf/gocode SUCCEEDED Installing github.com/uudashr/ ...

  6. 解决 VS Code 中 golang.org 被墙导致的 Go 插件安装失败问题

    微软官方开发的 Go for Visual Studio Code 插件为 Go 语言 提供了丰富的支持.在 VS Code 中首次打开 Go 工作区后,VS Code 会自动检测当前开发环境为 Go ...

  7. 在Visual Studio Code中开发Office Add-in

    作者:陈希章 发表于 2017年7月13日 上一篇 我介绍了如何在Visual Studio中开发Office Add-in,因为有标准的项目模板,一系列配套的工具,尤其是自带的一键调试功能,可以让开 ...

  8. 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex

    开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...

  9. [Laravel-Swagger]如何在 Laravel 项目中使用 Swagger

    如何在 Laravel 项目中使用 Swagger http://swagger.io/getting-started/ 安装依赖 swagger-php composer require zirco ...

随机推荐

  1. printf 函数的实现原理

    /* * ===================================================================================== * * Filen ...

  2. 给bootstrap table设置行列单元格样式

    1.根据单元格或者行内其他单元格的内容,给该单元格设置一定的css样式 columns: [{ field: 'index', title: '序号', align:"center" ...

  3. SpringBoot2.X自定义拦截器实战及新旧配置对比(核心知识)

    简介: 讲解拦截器使用,Spingboot2.x新版本配置拦截拦截器和旧版本SpringBoot配置拦截器区别讲解 1.@Configuration 继承WebMvcConfigurationAdap ...

  4. SpringMVC 使用@ResponseBody返回json 中文乱码与返回实体类报错

    有时候我们发现接收的是中文,返回却是个?.这确实是个蛋疼的问题,Spring中解析字符串的转换器默认编码居然是ISO-8859-1 /** * Implementation of {@link Htt ...

  5. linux挂载硬盘以及卸载硬盘

    1.在vmware添加硬盘 2.输入fdisk -l 查看新增加的硬盘 3.分区初始化 4.指定文件系统 5.修改fstab文件 fstab: 6.刷新验证 mount -a 挂载定义在/etc/fs ...

  6. python2和3使用pip时的问题

    win10,电脑之前装有Anaconda,python2.因为需要用到python3,所以直接下载安装了python3.python3默认路径在c盘.我将其移到D盘并修改了两个环境变量.这时电脑的默认 ...

  7. Linux串口—struct termios结构体【转】

    转自:https://blog.csdn.net/yemingzhu163/article/details/5897156 一.数据成员 termios 函数族提供了一个常规的终端接口,用于控制非同步 ...

  8. sqlserver数据库系统性能监控步骤

    1.部署好环境JDK+tomcat+数据库 ①修改数据库连接账号密码db.properties ②修改applicationContext.xml文件,开启任务 <bean id="o ...

  9. spring事物深入了解

    1.问题 1.以前对事物的了解只是停留在声明式事物,配置xml,或使用注解,事物的传播行为也只用过REQUIRED和SUPPORTS,可以说对事物的了解很模糊. 2.直到在开发中遇到问题.. 问题的描 ...

  10. table下tbody滚动条与thead对齐的方法且每一列可以不均等

    1 前言 table下tbody滚动条与thead对齐的方法,开始在tbody的td和thead的tr>td,对每一个Item加入百分比,结果是没对齐.也尝试了用bootstrap的col-md ...