基于Visual Studio Code搭建Golang开发调试环境【非转载】
由于对Docker+kubernetes的使用及持续关注,要理解这个平台的原理,势必需要对golang有一定的理解,基于此开始利用业余时间学习go,基础语法看完之后,搭建开发环境肯定是第一步,虽然能g到一大把,go中文社区也有相关帖子很多,但这里还是记录一下方便查找,同时在搭建过程中也遇到两个g出来的帖子没提到的问题,一并记录。
Step1:准备各种安装包
1: Visual Studio Code
目前最新版本1.7.2,下载地址:https://code.visualstudio.com/Download
2:Go API
目前最新版本1.7.3,官方下载地址:https://golang.org/dl/ ,国内下载地址:http://www.golangtc.com/download
3:Git
安装Git工具,目前最新版本2.10.2,下载地址:https://git-for-windows.github.io/ ,下载安装即可;
4:Go工具包,包含智能提示,索引,包等等(也可以在VS code中自动安装,但我只成功安装了5个,其它8个都失败)
工具包包含数个开发工具,下载地址:https://github.com/golang/tools ,下载zip包即可
5:Go调试工具
工具用于Go代码的Debug,下载地址:https://github.com/derekparker/delve ,同样下载zip包即可
6:Go命令行编辑器(可选,可不装)
下载地址:https://github.com/peterh/liner ,下载zip包即可
7:Go测试工具(VS Code在Debug模式下会提醒安装该组件,如自动安装失败,可下载安装)
下载地址:https://github.com/cweill/gotests ,下载zip包即可
Step2:开始安装IDE
1:安装Visual Studio Code
没什么可说的,MS的工具安装几乎都是Next...Finish
2:安装Go API
安装根目录需要注意,这里我的安装根目录是 D:\Go
安装完毕后,创建工作目录,这里我的工作目录创建为:X:\GoPath
这2个目录非常重要,牢记后配置环境变量:
一共3个环境变量,分别为:GOBIN,GOPATH,GOROOT,如上图配置好
PATH变量加入:GOBIN路径:D:\Go\bin
新增的3个环境变量及PATH变量变更完毕后,可以在cmd中执行go env检查:
3:安装Git组件
安装程序如下:
安装完毕之后,需要更新环境变量PATH参数:
4:配置Visual Studio Code
启动VSC,Ctrl+Shift+P打开命令行,执行ext install,然后查找Go,安装Go的开发插件
5:设置工作目录
在VSC里打开设置的Go工作目录,默认如下图(test为自定义模块目录)
Step3:安装各种工具包
1:检查GoPath工作目录下的目录结构:
2:压缩包解压
1)GO Tools工具包解压后放于/src/golang.org/x/tools下
2)GO Tests工具包解压后也放于/src/golang.org/x/tools下
3)GO delve调试工具解压后放于/src/golang.org/derekparker/delve下
4)GO liner包解压后放于/src/golang.org/peterh/liner下
3:手动安装以上工具包
在cmd中执行以下指令,安装各个工具包:
go get github.com/nsf/gocode go get github.com/rogpeppe/godef go get github.com/golang/lint/golint go get github.com/lukehoban/go-find-references go get github.com/lukehoban/go-outline go get sourcegraph.com/sqs/goreturns go get golang.org/x/tools/cmd/gorename go get github.com/tpng/gopkgs go get github.com/newhook/go-symbols go get github.com/peterh/liner go get github.com/derekparker/delve/cmd/dlv go get golang.org/x/tools/cmd/guru
go get github.com/cweill/gotests
Step4:建立测试程序
1:建立测试项目
开启visual studio code,在src下建立一个新的模块(文件夹),这里以test为例,建立一个hello.go;
2:写一个测试程序
package main import "fmt" func main() { fmt.Println("hello test.") }
编写过程中,正常情况下,代码的只能提示,F12(Ctrl+左键)转向代码定义等功能都能正常工作;
3:测试
在VSC调试窗口,F5开始调试:
可以看到调试功能已经可以实现,快捷键保持与VS一致;
这个步骤会遇到如下问题:
问题原因是调试配置文件launch.json文件中定义的调试目录默认是${workspaceRoot}/src/
因此无法定位需要编译的.go文件。这里将其编译目录定位到需要编译的模块目录即可:
保存退出,即可在调试界面正常调试:
基于Visual Studio Code搭建Golang开发调试环境【非转载】的更多相关文章
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- 基于Visual Studio Code搭建Vue开发环境
安装node.js最新版 这里安装的是8.11.4版 image.png 更新npm至最新版 安装node.js后, npm默认版本为: 6.1.0 image.png 使用npm insta ...
- Windows10上基于Visual Studio Code安装Golang开发环境
GoLang简介 Go编程语言是一个开源项目,它使程序员更具生产力. Go语言具有很强的表达能力,它简洁.清晰而高效.得益于其并发机制,用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型 ...
- 使用Visual Studio Code搭建TypeScript开发环境
使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...
- Visual Studio Code配置GoLang开发环境
Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...
- Visual Studio Code 搭建Python开发环境
1.下载Python https://www.python.org/downloads/windows/ 选择一个版本,目前2.0的源码比较多,我下载的2.7.12 2.配置环境变量 3.Visual ...
- Visual Studio Code搭建Python开发环境方法总结
更新:目前VSCode官方Python插件已经支持代码运行与调试,无需安装Code Runner插件. 1.下载安装Python,地址 https://www.python.org/downloads ...
- Visual Studio Code搭建python开发环境
开发Python的环境有很多,原来已经在vs2013上面搭建好python的开发环境了,但是vs2013每次启动都占太多内存(太强大了吧),这下出了vs code,既轻量又酷炫,正好拿来试一试开发py ...
- 使用Visual Studio Code和typescript 开发调试React Native项目
关于React Native的详细介绍我就不叙述了,他是使用js构建原声app的开发框架.一次变异多平台运行,非常强大.但是个人不喜欢js的过于灵活(弱类型)的语法.强大的强类型语言Typescrip ...
随机推荐
- GOF23设计模式之工厂模式
-实现了创建者和调用者的分离 -面向对象设计的基本原则: ·OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭 ·DIP(依赖倒转原则,Depen ...
- 原型设计Axure的基本使用
Axure是一款专业的原型设计工具, 让负责定义需求设计:功能和界面的人员能快速设计出所需产品,其中不仅包含了对软件产品的界面,交互逻辑的原型设计,还包含了流程图:web网站的线框图,并且能导出说明文 ...
- EF 添加方式比较
using System; using System.Collections.Generic; using DBAccess.Models; using EntityFramework.BulkIns ...
- 初识Git
Git是目前世界上最先进的分布式版本控制系统.在Git诞生之前,我们一直使用的是集中式版本控制系统(如CVS.SVN等),那么两者有什么不同呢?分布式的优势又在哪里呢? 分布式vs集中式 集中式版本控 ...
- 【blade利刃出鞘】一起进入移动端webapp开发吧
前言 在移动浪潮袭来的时候,小钗有幸进入框架组做webapp框架开发,过程中遇到了移动端的各种坑,也产生了各种激情,就我们公司的发展历程来说 第一阶段:使用传统方式开发移动站点,少量引入HTML5元素 ...
- asp.net获取数据库的连接字符串
1.添加引用 using System.Configuration; 2.代码 string strConnectionString=ConfigurationManager.AppSettings[ ...
- iOS-集成支付宝支付、微信支付简单总结
支付宝快捷支付: 官方文档中,支付宝说建议我们使用支付时要讲签名过程放在服务器端,这样安全.同时给的demo中签名是在本地移动端做的...不过支付宝的集成还是较简单的. 为了安全签名当然放后台做了.我 ...
- 19-typedef
本文目录 一.typedef作用简介 二.typedef与指针 三.typedef与结构体 三.typedef与指向结构体的指针 四.typedef与枚举类型 五.typedef与指向函数的指针 六. ...
- Oracle中varchar,varchar2,nvarchar,nvarchar2的区别及其它数据类型描述
--varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个 ...
- python 发送邮件
# coding=utf-8 import smtplibfrom time import sleepfrom email.mime.text import MIMETextfrom email.mi ...