本文包含以下内容:

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调试的更多相关文章

  1. Mac上利用VScode配置c/c++开发环境

    Mac上利用VScode配置c/c++开发环境 哭辽,Typora里面最好不要插入表情,不然保存会闪退 首先你要有一个vscode 在扩展里面下载c/c++ 第一步 ⬆+com+p 打开命令模式:选择 ...

  2. 【翻译】在Mac上使用VSCode创建你的第一个Asp.Net Core应用

    Setting Up Your Development Environment 设置你的开发环境 To setup your development machine download and inst ...

  3. mac 上配置flutter开发环境

    (ios,Android,Xcode,Android Studio,VScode,IDEA) 1)安装Flutter SDK 2)iOS 环境配置 3)Android Studio配置 4)VS co ...

  4. windows上使用VsCode开发C/C++

    使用VsCode+makefile开发C/C++ 1. 介绍 vscode作为现在越来越受欢迎的编辑器之一,因为可以使用插件让vscode支持几乎市面上所有的编程语言,由于笔者主要接触的是 C/C++ ...

  5. mac上配置java开发环境

    项目在mac上跑起来的步骤: 1. 访问,https://brew.sh/  装上这个然后  brew install git  brew install maven, settings.xml需要放 ...

  6. mac上配置php开发环境

    玉忠之前在我的mac上配置过,当时项目不能区分大小写,所以就没成功,我现在在他得基础上继续配置,希望成功. 教程:http://my.oschina.net/joanfen/blog/171109 以 ...

  7. 在mac上如何用safari浏览器调试ios手机的移动端页面

    第一步 打开iphone手机的开发者模式,流程是:[设置]->[Safari]->[高级]->开启[Web检查器] 第二步 打开Mac上Safari的开发者模式,流程是[Safari ...

  8. 在mac上使用vscode创建第一个C++项目

    https://blog.csdn.net/bujidexinq/article/details/106539523 准备工作:安装好vscode安装插件『C/C++』正式开始:首先是创建一个空的文件 ...

  9. (转)在mac上配置cocos2d-x开发环境

    转自:http://www.cnblogs.com/xiaodao/archive/2013/01/08/2850751.html 一.下载cocos2d-x最新安装包 在终端中cd到本地将要存放目录 ...

随机推荐

  1. ASP.NET Core MVC 源码学习:Routing 路由

    前言 最近打算抽时间看一下 ASP.NET Core MVC 的源码,特此把自己学习到的内容记录下来,也算是做个笔记吧. 路由作为 MVC 的基本部分,所以在学习 MVC 的其他源码之前还是先学习一下 ...

  2. SQLSERVER 切换数据库为单用户和多用户模式

    有时候数据库在占用时,想做一些操作,无法操作.可以尝试将数据库切换为单用户模式来操作.操作完之后再切换回多用户模式. 命令如下: alter database 数据库名 set Single_user ...

  3. Seajs使用实例入门介绍

    本文所用例子的代码目录结构: seajs example |--sea-module //存在依赖文件 |--jquery |--jqeury.js |--sea.js |--static //存放自 ...

  4. nginx+lua安装配置

    1.选定源码目录选定目录 /usr/local/ cd /usr/local/ 2.安装PCRE库cd /usr/local/wget ftp://ftp.csx.cam.ac.uk/pub/soft ...

  5. Python注释用法

    在Python中的注释与其他语言相比有很大的不同,但使用起来也很简单.在Python中有两种注释,一种是单行注释,一种是多行注释.单行注释适用于简短快速的注释(或者用于调试),而块注释常用于描述一段内 ...

  6. 使用cmd命令打开Python文件式程序方法

    首先:需要确定已编好的Python程序的存储路径:(即在哪个磁盘,哪个文件中) 其次:打开cmd命令,输入该程序所在磁盘,敲回车键:(例如其存储在E盘,则输入“E:”,敲回车键.) 然后:输入pyth ...

  7. 浅谈MVC缓存

    缓存是将信息放在内存中以避免频繁访问数据库从数据库中提取数据,在系统优化过程中,缓存是比较普遍的优化做法和见效比较快的做法. 对于MVC有Control缓存和Action缓存. 一.Control缓存 ...

  8. 模式识别与机器学习—bagging与boosting

    声明:本文用到的代码均来自于PRTools(http://www.prtools.org)模式识别工具箱,并以matlab软件进行实验. (1)在介绍Bagging和Boosting算法之前,首先要简 ...

  9. response.setHeader("Content-disposition","attachment;filename="+fileName) 下载时文件名中存在空格错误

    最近在进行文件下载时发现一个问题,就是下面语句运行时,下载某些文件正常,下载某些文件异常,后来发现文件名中有空格的文件火狐浏览器是默认将文件名截断了的 response.setHeader(" ...

  10. 踩坑实录 Android studio中关于 No cached version of **** available for of处理办法

    当我们添加某些依赖库(Okhttp.Retrofit)时, Android studio 会报如下错误: Error:A problem occurred configuring project ': ...