2016年最新mac下vscode配置golang開發環境支持debug


網上目前還找不到完整的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.

 

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




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM