Golang 在mac上用VSCode开发、Delve调试
本文包含以下内容:
1.安装VSCode;
2.用Delve调试Go项目;
3.自定义代码片段;
1.安装VSCode
先去下载VSCode,这个链接里面也有官方文档。
安装插件:

vscode-icons这个插件可以让VSCode显示文件的图标,让你更容易辨识项目内繁杂的文件,如图:

注意:
用VSCode打开Go项目时,打开项目所在的目录,
也就是标准的 /bin /pkg /src这三个文件夹所在的那个目录,
而不是打开某个具体的.go文件,否则代码自动补全功能会异常!
2.用Delve调试Go项目
安装Delve,推荐 brew install go-delve/delve/delve ,不用自己配置很多麻烦的东西。
如果遭遇错误,应该就是/usr/local存在权限问题,sudo chmod -R 777 /usr/local 。
在VSCode打开的go项目文件内启动调试:调试 - 启动调试(F5),
不出意外,应该会看到错误提示,打开launch.json文件:

name 随意配置;
port 只要不是常用的端口,应该就不会存在冲突了,随意配置;
program 配置Go项目启动文件路径,即main函数所在的.go文件的路径,
${workspaceRoot}代表项目的根目录,
也就是 /bin /pkg /src这三个文件夹所在的目录;
env 可以用来配置调试启动时所用的环境变量参数,
比如gopath临时设置为某个参数就可以在这里指定,
如果有多个gopath,用英文冒号:来连接多个gopath;
trace 可以打印Delve执行的日志,在控制台会输出这个日志的目录,如图:

再次按下启动调试,可以看到调试控制台输出:

VSCode顶部也出现了,推荐使用快捷键进行操作:

添加断点可以在行号左边点击鼠标左键,会出现小红点,再次点击就可取消断点:

如果执行调试失败,可查看上文提到的trace选项记录下的logs文件内的信息。
打开日志文件,可以看到Delve打印的一些信息:

可以看到Delve程序所在的目录,还有程序主进程运行退出时的返回码。
(博主在安装Delve时走了弯路,所以本机有两个Delve,
当时执行的不是用Homebrew安装的,钥匙串没有配置好。
所以,当时通过查看这个日志才发现执行调试的并不是通过Homebrew安装的,
然后立即删除有问题的dlv,再次启动调试,问题解决!)
3.自定义代码片段
选择菜单:Code - 首选项 - 用户代码片段,弹出的列表里点击Go,会进入到go.json文件内,
然后按照样例进行编辑即可。
比如,我定义的defer闭包,格式使用ASCII符号来控制(\n、\t等):

在VSCode打开的.go文件内输入fdefer,就会看到:

然后回车,就会看到光标在1的位置,按下tab就会跳到2处:

尽情享受VSCode带给你的快乐吧!
Ficow原创,转载请注明出处:http://www.cnblogs.com/ficow/p/6785905.htm
Golang 在mac上用VSCode开发、Delve调试的更多相关文章
- Mac上利用VScode配置c/c++开发环境
Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...
- 【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用
Setting Up Your Development Environment 设置你的开发环境 To setup your development machine download and inst ...
- mac 上配置flutter开发环境
(ios,Android,Xcode,Android Studio,VScode,IDEA) 1)安装Flutter SDK 2)iOS 环境配置 3)Android Studio配置 4)VS co ...
- windows上使用VsCode开发C/C++
使用VsCode+makefile开发C/C++ 1. 介绍 vscode作为现在越来越受欢迎的编辑器之一,因为可以使用插件让vscode支持几乎市面上所有的编程语言,由于笔者主要接触的是 C/C++ ...
- mac上配置java开发环境
项目在mac上跑起来的步骤: 1. 访问,https://brew.sh/ 装上这个然后 brew install git brew install maven, settings.xml需要放 ...
- mac上配置php开发环境
玉忠之前在我的mac上配置过,当时项目不能区分大小写,所以就没成功,我现在在他得基础上继续配置,希望成功. 教程:http://my.oschina.net/joanfen/blog/171109 以 ...
- 在mac上如何用safari浏览器调试ios手机的移动端页面
第一步 打开iphone手机的开发者模式,流程是:[设置]->[Safari]->[高级]->开启[Web检查器] 第二步 打开Mac上Safari的开发者模式,流程是[Safari ...
- 在mac上使用vscode创建第一个C++项目
https://blog.csdn.net/bujidexinq/article/details/106539523 准备工作:安装好vscode安装插件『C/C++』正式开始:首先是创建一个空的文件 ...
- (转)在mac上配置cocos2d-x开发环境
转自:http://www.cnblogs.com/xiaodao/archive/2013/01/08/2850751.html 一.下载cocos2d-x最新安装包 在终端中cd到本地将要存放目录 ...
随机推荐
- 千呼万呼使出来Gogland (jetBrains发布的golang IDE)
由于之前一直在用PyCharm在开发, 已经习惯了这个IDE. 转golang开发后一直没找到合适的debug功能的IDE,忽然听说jetBrains发布测试版golang IDE: Gogland带 ...
- 3.WP8.1开发_为控件增加动画
示例: 把一个按钮的宽度从100变到500 根据WPF的经验,会把代码写成如下: <Grid> <Button x:Name="btn" Content=&quo ...
- 性能测试平台效率优化的一次经验(python版)
在做性能测试平台的优化过程中,由于启动任务相对其他测试任务比较频繁,而目前30次两个包的交叉对比(30次)测试需要耗时30分钟整,因此打算优先对测试流程做一次优化,将测试时间消耗降低到20分钟. 由于 ...
- [项目记录] 用c语言完成的一个学生成绩管理系统
一.要求: 学生成绩管理系统 某班有最多不超过30人(具体人数由键盘输入)参加期末考试,最多不超过6门(具体门数由键盘输入).使用链表编程实现如下菜单驱动的学生成绩管理系统. 从文件读入每个学生个人信 ...
- Android之仿京东淘宝的自动无限轮播控件
在App的开发中,很多的时候都需要实现类似京东淘宝一样的自动无限轮播的广告栏,所以就自己写了一个,下面是我自定义控件的思路和过程. 一.自定义控件属性 新建自定义控件SliderLayout继承于Re ...
- js的eval函数
今天在看代码的时候发现了一个eval函数,不解其意,通过查询之后,终于知道了,下面是我的总结. eval函数可以将字符串生成语句执行,格式为:eval(coding),类似于sql语句里面的exec( ...
- 取消a标签的页面跳转
如果代码是:<a href="#" class="juan-btn" onclick="showResult()">提交< ...
- 02.PHP7.x编译详解
#php7编译安装安装 ``` useradd -M -s /sbin/nologin www yum -y install openssl-devel bzip2-devel curl-devel ...
- 【Egret】Wing3发布移动APP功能,打包APK流程以及会遇到的问题
流程:1.安装好wing 3,然后 插件--Egret项目工具--发布移动APP--Build android native project 2.配置发布环境: Android 1.egret eng ...
- Framework7+vue demo
最近看了下f7+vue做了几个测试页面,商品图片来自淘宝,代码等有时间了再传,