网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来。

mac最好装下xcode,好像有依赖关系
安装Homebrew
打开终端窗口, 粘贴脚本执行
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装go语言最新版,去官网 https://golang.org/dl/  下载,需要挂科学上网 推荐一个 58jiasu.com 现在有活动 包月2块钱

安装vscode,百度一下 打开官网安装就行了 https://code.visualstudio.com/download

装好后打开,左侧竖着排列一排图标,点第五个图标

打开扩展功能,搜索go  这里也要挂科学上网

安装 lukehoban作者的Go插件 我安装的时候是排在第二

现在开始配置mac的环境变量
打开终端 建立工作目录
cd $HOME

mkdir work
加入环境变量
vim ~/.bash_profile
加入

export GOPATH=$HOME/work

export PATH=$PATH:$GOPATH/bin

保存退出 :wq
source ~/.bash_profile
立刻生效

接着安装IDE支持
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint

改用gometalinter 安装方法在最下面的更新里
go get -u -v github.com/lukehoban/go-find-references
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
这些都在终端输入执行
这个时候还不能debug
安装debug支持
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
我用的最新版安装后有问题,需要如下处理
brew install go-delve/delve/delve
然后再来一遍
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
现在差不多就完成了

最后我们启动调试插件
严格按照如下步骤操作

1> 打开"钥匙串访问"
2> 打开菜单 钥匙串访问/证书助理/创建证书...
3> 名称: dlv-cert 身份类型: 自签名证书 证书类型: 代码签名 并 选择"让我覆盖这些默认值"
4> 单击"继续", 有效期(天数): 365 这里你可以自己修改, 我改为3650
5> 一路继续下去, 直到看到"指定用于该证书的位置" 钥匙串 选择 "系统" 并单击"创建"按钮
6> 重启系统之后, 再打开"钥匙串访问", 选择"系统", 就会看到创建好的"dlv-cert"证书.
7> 右键"dlv-cert"证书, 选择"显示简介"->"信任"->"代码签名" 修改为: 始终信任
8> 打开终端然后cd命令进入之前你安装好的"GOPATH/src目录下的dlv源码文件目录:github.com/derekparker/delve"
9> 输入如下命令: GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install 这样就可以重新编译出一个带有代码签名的dlv执行程序

重启电脑,可以愉快的玩耍了

最后还是要提醒 需要全程科学上网 推荐 58jiasu.com 现在有活动很便宜 只要2块钱包月

11月27 更新:

vs code提示安装gometalinter

$ go get github.com/alecthomas/gometalinter
$ gometalinter --install --update

这个工具基本上集成了目前市场上所有的检测工具,然后可以并发的帮你静态分析你的代码:

  • go vet — Reports potential errors that otherwise compile.

  • go vet — shadow — Reports variables that may have been unintentionally shadowed.

  • gotype — Syntactic and semantic analysis similar to the Go compiler.

  • deadcode — Finds unused code.

  • gocyclo — Computes the cyclomatic complexity of functions.

  • golint — Google’s (mostly stylistic) linter.

  • defercheck — Checks for duplicate defer calls.

  • varcheck — Find unused global variables and constants.

  • structcheck — Find unused struct fields.

  • errcheck — Check that error return values are used.

  • dupl — Reports potentially duplicated code.

这些是目前集成的工具。使用方法请自行百度



2016年最新mac下vscode配置golang开发环境支持debug的更多相关文章

  1. vscode 配置 golang开发环境

    如果你使用golang,那么强烈建议你采用vscode作为IDE. 1. 首先在vscode 当中安装go插件,如上图 2. 配置 %AppData%\Code\User\settings.json ...

  2. mac下安装配置java开发环境

    可以使用homebrew下载相关软件,以下具体讲一下环境的配置: mac下安装jdk vi .bash_profile 输入i,进入编辑模式 输入以下配置,其中JAVA_HOME是你的jdk安装目录 ...

  3. vscode配置golang开发环境手把手描述篇

    1.下载安装Golang https://golang.google.cn/dl/ 一路下一步即可 2.下载安装Vscode https://visualstudio.microsoft.com/zh ...

  4. 【python3】window下 vscode 配置 python3开发环境

    本文以python3.7 为例 一 下载python3 url : https://www.python.org/downloads/windows/ 提示: 安装过程中.记得勾选  添加环境变量 二 ...

  5. vscode配置golang开发环境

    软件: go1.16.5.windows-amd64.msi vscode go安装后已经自动配置相关环境变量.在cmd中用go env查看环境变量. vscode设置goroot和gopath 找到 ...

  6. VSCode配置JAVA开发环境

    VSCode配置JAVA开发环境 1:给机器安装JDK.MAVEN 下载JDK 下载路径:https://www.oracle.com/technetwork/java/javase/download ...

  7. Visual Studio Code配置GoLang开发环境

    Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...

  8. Ubuntu Linux下如何配置Android开发环境

    下载和安装Win7系统Android开发环境中讲了怎样在Win7系统中安装Android开发环境,那么怎样在Linux系统中配置Android开发环境呢?本篇文章就将演示如何使用Eclipse.And ...

  9. Linux下配置Golang开发环境

    前几天无意间看到了微信推送的golang开发的消息,看到golang那么牛逼,突然心血来潮想学习一下go.工欲善其事必先利其器,想做go开发,必须先配置好go的开发环境(就像开发Java先安装配置jd ...

随机推荐

  1. InnoDB:Lock & Transaction

    InnoDB 是一个支持事务的Engine,要保证事务ACID,必然会用到Lock.就像在Java编程一下,要保证数据的线程安全性,必然会用到Lock.了解Lock,Transaction可以帮助sq ...

  2. JavaScript中的this

    本文尽量避免概念性的讲解,那样太抽象 所以下面以一些简单的例子,从易到难对this的用法总结 1.方法中的this会指向当前执行该方法的对象 如: var name = "window&qu ...

  3. java中判断字符串是否为只包含数字

    1.用Java自带的函数 public static boolean isNumeric(String str){ for(int i=str.length();--i>=0;){ if (!C ...

  4. 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)

    [题外话] 闲的无聊竟然想尝试测试自己做的项目在不同操作系统上的性能表现,所以决定试试在Linux上部署Apache和Mono的环境.由于平时很少接触Linux,所以从网上找了几篇文章(附在相关链接中 ...

  5. Xamarin.Android快速入门

    一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid 二.界面 1.打开Resources文件夹-> ...

  6. ASP.NET MVC 5 Web编程4 -- Razor视图引擎

    Razor简介 Razor是ASP.NET新增的一个视图引擎,由微软全球最年轻的副总裁,有着"ASP.NET之父"称呼的Scott Guthrie主导的团队开发. 主导Razor开 ...

  7. Linux简单指令操作

    Linux CentOS运维中,常用的操作和命令记录下: 1.DNS设置 在Linux服务器上,当我们ping出现这个错误时:ping: unknown host,很大可能是系统的DNS没有设置或者设 ...

  8. android内部培训视频_第五节(1)_OA实战之登录界面

    第五节(1):OA实战之登录界面  一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:androi ...

  9. Entity Framework 6 Recipes 2nd Edition(11-2)译 -> 用”模型定义”函数过滤实体集

    11-2. 用”模型定义”函数过滤实体集 问题 想要创建一个”模型定义”函数来过滤一个实体集 解决方案 假设我们已有一个客户(Customer)和票据Invoice)模型,如Figure 11-2所示 ...

  10. es6之let和const

    在javascript中,我们都知道使用var来声明变量.javascript是函数级作用域,函数内可以访问函数外的变量,函数外不能访问函数内的变量. 函数级作用域会导致一些问题就是某些代码块内的变量 ...