一、介绍

对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go

这款插件的特性包括:

  • Colorization 代码着彩色
  • Completion Lists 代码自动完成(使用gocode)
  • Snippets  代码片段
  • Quick Info 快速提示信息(使用godef)
  • Goto Definition 跳转到定义(使用godef)
  • Find References  搜索参考引用(使用go-find-references)
  • File outline 文件大纲(使用go-outline)
  • Workspace symbol search 工作区符号搜索(使用 go-symbols)
  • Rename 重命名(使用gorename)
  • Build-on-save 保存构建(使用go build和go test)
  • Format 代码格式化(使用goreturns或goimports或gofmt)
  • Add Imports  添加引用(使用 gopkgs)
  • Debugging 调试代码(使用delve)

IDE功能:

调试功能:

二、安装工具

首先,你需要安装Visual Studio Code 版本为0.10。在命令面板(Ctrl-Shift-P或F1键)选择Extension,并选择Go。

注:Visual Studio Code 安装,请查看《3.1 Visual Studio Code》。

设置工作环境系统变量GOPATH,请查看《3.3 设置环境变量GOPATH》。本机的GOPATH为D:\GoWorks。打开要工作的GOPATH文件夹或子文件夹,可以开始编辑go文件。

其他插件安装详见《四、插件配置》。安装之后界面如下:

按下F5,提示不能调试,要安装调试工具。

调试工具安装,在命令行运行:

go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv

在按下F5,进行调试:

三、配置工具

3.1 settings.json

下面的Visual Studio代码设置可用于Go扩展。这些都可以在用户的喜好来设置或工作区设置(.vscode/settings.json)。
打开工作区settings.json:

{

    "files.autoSave": "onFocusChange",

    "go.buildOnSave": true,

    "go.lintOnSave": true,

    "go.vetOnSave": true,

    "go.buildFlags": [],

    "go.lintFlags": [],

    "go.vetFlags": [],

    "go.useCodeSnippetsOnFunctionSuggest": false,

    "go.formatOnSave": false,

    "go.formatTool": "goreturns",

    "go.goroot": "C:\\go",

    "go.gopath": "D:\\GoWorks"

}

3.2 launch.json

调试工具配置launch.json:

{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "debug",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}

program参数可以指一个包的文件夹进行调试,或该文件夹中的一个文件。

mode参数可以被设置为:

  • debug 编译调试器下的程序文件夹和发射的内容。 [默认]
  • test 在程序文件夹中调试测试。
  • exec 来运行构建当前代码的程序文件夹的预建的二进制文件来代替。

3.3 构建和调试扩展

可以通过外延扩展设置开发环境的调试。

首先确保在.vscode/extensions没有安装。然后克隆其他地方版本库在你的机器上,运行NPM安装和打开Code的开发实例。

在cmd命令中,打开D:\GoWorks目录:

在cmd窗口运行如下命令:

git clone https://github.com/Microsoft/vscode-go

转到vscode-go目录

运行npm install

输入 code . 弹出 vscode-go窗口

现在你可以调试viewlet并选中Launch Extension当按F5键。
在 [Extension Development Host] 实例中,打开GOPATH文件夹。
你现在可以命中断点和单步执行扩展。
如果对扩展.TS文件进行编辑,只需重新加载[Extension Development Host]Code实例在新扩展的代码加载,调试实例会自动连接。

详细新可以参考:https://github.com/Microsoft/vscode-go/blob/master/src/debugAdapter/Readme.md

Windows环境下vscode-go安装笔记的更多相关文章

  1. Windows环境下MongoDB的安装与配置

    MongoDB是一种高性能的文档型数据库,现介绍一下在Windows环境下MongDB的安装与配置 获取MongoDB 打开官方网站 www.mongodb.org,找到页面右上解的DownLoad链 ...

  2. Windows环境下Android Studio安装和使用教程

    Windows环境下Android Studio安装和使用教程 来源: http://www.cnblogs.com/liuhongfeng/archive/2015/12/30/5084896.ht ...

  3. Redis学习——Windows环境下Redis的安装(二)

    一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...

  4. Windows环境下python的安装与使用

    Windows环境下python的安装与使用 一.python如何运行程序 首先说一下python解释器,它是一种让其他程序运行起来的程序.当你编写了一段python程序,python解释器将读取程序 ...

  5. python MySQLdb在windows环境下的快速安装

    python MySQLdb在windows环境下的快速安装.问题解决方式 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下 ...

  6. Windows环境下使用.bat安装和卸载服务

    一.Windows环境下使用.bat安装和卸载服务 win7环境 例子中“”Valwell.Dms.HttpService.exe“”为服务程序名称 安装服务 %SystemRoot%\Microso ...

  7. Redis在windows环境下ThinkPHP的安装和使用

    1.Redis概述: 2.Redis在windows环境下的安装: 下载地址:https://github.com/dmajkic/redis/downloads,选取其中一个zip压缩包:

  8. Android 开发之Windows环境下Android Studio安装和使用教程(图文详细步骤)

    鉴于谷歌最新推出的Android Studio备受开发者的推崇,所以也跟着体验一下. 一.介绍Android Studio  Android Studio 是一个Android开发环境,基于Intel ...

  9. Windows环境下 PyQt5 如何安装MySql驱动 (PyQt5连接MYSQL时显示Driver not loaded解决方案)

    参考文章: https://blog.csdn.net/qq_38198744/article/details/80261695 前文说过如何在Ubuntu环境下 为PyQt5  安装MySql驱动, ...

  10. 117、python MySQLdb在windows环境下的快速安装、问题解决方式

    使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.NET/wklken/arti ...

随机推荐

  1. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  2. SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR 后台创建了一个DntHub的集线器 前台在调用的时候出现了问题(经检查是代理对象 ...

  3. console的高级使用

    1.console.table()用来表格化展示数据. var people = { zqz: { name: 'zhaoqize', age: 'guess?' }, wdx: { name: 'w ...

  4. 【原】AFNetworking源码阅读(三)

    [原]AFNetworking源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇的话,主要是讲了如何通过构建一个request来生成一个data tas ...

  5. Javascript实用方法

    这篇我主要记录一些在工作中常用的.实用的方法. String trim 字符串方法中的trim主要用来去空格使用,很多时候,在后台做参数处理的时候,我们都会使用该方法,比如在获取用户输入的账户时 va ...

  6. 非关系型数据库(NoSql)

    最近了解了一点非关系型数据库,刚刚接触,觉得这是一个很好的方向,对于大数据 方面的处理,非关系型数据库能起到至关重要的地位.这里我主要是整理了一些前辈的经验,仅供参考. 关系型数据库的特点 1.关系型 ...

  7. 【Reading Note】Python读书杂记

    赋值 >>> list=[] >>> app=[list,list,list] >>> app [[], [], []] >>> ...

  8. 在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验

    准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...

  9. 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第十二节)

    好的,那么在上一节中呢,评论功能的后台已经写好了,这一节,先把这部分后台代码和前台对接一下. 1.评论功能实现 我们修改一下保存评论按钮的点击事件,用jQuery的方式获取文本框中的值,然后通过aja ...

  10. scanf类型不匹配造成死循环

        int i = 0; while (flag) { printf("please input a number >>> "); scanf("% ...