golang的下载、安装、设置在这篇文章中就不叙述了。
本文讲述的是在 centos7 下面的 vscode 的 golang 开发环境搭建。
vscode的安装
vscode的安装非常简单,最好的方式就是前往官网:https://code.visualstudio.com/,那是最新的最权威的。
这里做个摘抄:
rpm --import https://packages.microsoft.com/keys/microsoft.asc
sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
yum check-update
yum install code
vscode的启动
很简单,直接在console中敲入 code 即可。但是假如以root身份运行的话,需要执行:
code --user-data-dir
vscode的汉化
打开vscode后,按下 ctrl + shift + p,会打开一个输入框,输入 configure 即可,会出现一个 Configure Display Language的选项,点下它进行安装简体中文,重启vscode后,就能看到汉化了。
更改颜色主题
默认的vscode是黑色主题,我一直喜欢白色的主题,对于黑色的主题,对我来说,很累眼睛(有些人认为黑色不累眼睛)。那么在vscode更改颜色主题的步骤很简单:左下角有个齿轮状的按钮,点击后出现:颜色主题,点击后出现一个输入框,找到淡色的白色主题即可。
取消迷你地图
我到现在也没有感觉到迷你地图用来干什么的,取消吧,占地方。点击菜单的”查看”,去掉“显示迷你地图”前面的勾即可。
设置快捷键
点击左下角的齿轮状的按钮,点击键盘快捷方式,出现许多的键盘快捷方式,进行调整。
我进行更改的几个快捷键如下:
删除一行 ctrl + d
后退 alt + <-
前进 alt + ->
安装golang的插件
在 vscode 中,按下 ctrl + shift + p,会打开一个输入框,输入 install 即可,会出现一个 Extensions: Install Extensions的选项,点下它后,在左侧会出现插件商店,在插件商店的输入框中输入:go 即可找到 go 的官方插件,点击后找到 install 即可。
golang插件装好以后,随便打开一个golang的工程,这个时候,vscode会在右下角连续弹出很多窗口提示安装golang的组件,逐个点击安装即可。因为我平时就已经把这些组件通过go get的方式安装好了,所以弹出的组件安装很少,更不用说遇到墙的事情了。假如被强了,自己可以到其他网站查找相关安装方法。
总的来说,vscode下的golang安装组件可以说是傻瓜式的,非常简单。
设置编辑区字体大小
默认编辑区的字体太小,点击左下角的齿轮状的按钮,点击“设置”,找到“文本编辑器”–>“字体”,找到 Font Size,改为 18 即可。
设置golang的大纲显示
打开golang的工程后,左侧的上半部分是文件及文件夹,左侧的下半部分是包或者类的大纲。我常用的开发视图是左侧是文件及文件夹,右侧是类的大纲,这样的界面显示能快速总览全局,也方便打开文件和类。但是在vscode中是没有办法把左上部分和左下部分进行分离(分离的效果是左侧文件及文件夹,右侧是类的大纲)。于是我们可以安装go outliner这个组件来加强这个功能,不过go outliner也没有办法单独显示在右侧。但是go outliner比vscode自带的那个大纲要强大很多,你们装上后就能发现两者的不同。在扩展商店中,找到go outliner,安装好后,进行manage,务必要在Extend Default Explorer tab with additinal section containing Go symbols的前面打勾。如此能在最左侧的能出现go outliner,点击后,比较完美的大纲出现了。就是因为不能在右侧,所以需要进行切换比较麻烦。
查找方法的引用和实现
在面向对象的语言中,对于查找某个方法的引用和实现是非常实用的一个技能。golang也提供了这一功能,这个功能是有guru这个组件来实现的。这个组件可以说非常的牛,具体可以看文档Using Go Guru,假如被墙的话,那么可以到这里来看Go Guru(golang 代码导航工具) 的使用。具体用guru来查找方法的引用和实现,只需要在方法上点击右键,然后点击“查找引用”和“查找实现”即可。但是这里千万千万要注意,在vscode中的,右键点击方法,然后选择“查找实现”是找不到结果的,正确的方法应该是:在接口类上点击右键,然后“查找实现”,这样guru会给你找出实现这个接口的实现类,切记切记,我尝试了很多次才试出来的!
delve的配置
在debug显示变量的时候,有些字符串的长度比较长,delve显示的结果是”xxx … +xx more”,怎么样让delve显示完整的字符串呢?在 settings.json中进行相应设置。(by the way,如何打开 settings.json?点击左下角的齿轮状按钮,然后点击“设置”,随便找一个“在 settings.json中编辑”点击即可)。进入settings.json后,输入 go.delveConfig,vscode马上会弹出可以设置选项给你,找到后,直接回车马上就能显示所有的delveConfig的选项,找到 maxStringLen,设为 9999 即可,如下:
"go.delveConfig": {
"dlvLoadConfig": {
"followPointers": true,
"maxVariableRecurse": 1,
"maxStringLen": 99999,
"maxArrayValues": 64,
"maxStructFields": -1
},
"apiVersion": 2,
"showGlobalVariables": true
}
工程中launch.json设置
在工程中,当你按下F5进行debug的时候,会发现vscode默认是当前所选文件作为入口点开始进行debug,往往当前文件不是main的入口文件,所以就会报错,所以我们要修改 launch.json 这个配置。点击菜单,找到“调试”,点击“打开配置”,即可打开 launch.json 这个文件,找到 program 这个配置项,设置为 “program”: “${workspaceRoot}/your-main-file.go”,其中的 ${workspaceRoot} 指得是打开的工程所在的文件夹,这些变量大家可以参考 vscode Variables Reference