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到本地将要存放目录 ...
随机推荐
- PDO(20161107)
PDO MySQLI是针对MySQL数据库扩展的,是专门访问MySQL数据库的 PDO是一个数据库访问的一个扩展类,通过一个类访问多个数据库,就是一个数据访问抽象层,把类结合在一块了 可以访问别的数据 ...
- Eclipse使用Maven创建Web项目+整合SSM框架
一.准备环境: maven:apache-maven-3.2.3 jdk:jdk1.8.0_25 tomcat:tomcat-9.0 二.配置Maven.jdk 1.Window——>Prefe ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列5-重复消息:at-least-once at-most-once
上篇博客中,我们用实际的业务场景和代码示例了Azure Messaging-ServiceBus Messaging对复杂对象消息的支持和消息的持久化: Azure Messaging-Service ...
- C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(中)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...
- iOS开发之通过代码自定义一个控件
关于控件的继承关系(面试重点): (1)所有的控件都继承自UIView. (2)能监听事件的都是先继承自UIControl,UIControl再继承自UIView.比如UIButton. (3)能整体 ...
- oracle学习 笔记(1)
题记:之前用的是SQL server数据库,现因需求使用Oracle数据库,写此博客来记录学习: 一.表空间管理.用户管理.给用户授权 1.在Oracle中每创建数据库会在系统服务中多一个数据库实例, ...
- Python可视化学习(1):Matplotlib的配置
Matplotlib是一个优秀的可视化库,它提供了丰富的接口,让Python的可视化落地显得非常容易上手.本系列是本人学习python可视化的学习笔记,主要用于监督自己的学习进度,同时也希望和相关的博 ...
- 老李分享:Uber究竟是用什么开发语言?
poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...
- 手机自动化测试:Appium源码分析之跟踪代码分析九
手机自动化测试:Appium源码分析之跟踪代码分析九 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家 ...
- rancher api key
rancher将docker容器的界面化做的很好了,但是我们有时间需要在别的地方查看容器的一些信息,怎么办呢? rancher自己提供的有api 点击api查看 我们能够查看到该容器的一些信息,实际上 ...