Golang 環境配置建議(Atom)

jopen 9年前發布 | 106K 次閱讀 Google Go/Golang開發 Golang

開發環境的必要特征

  1. 項目管理

  2. 快速文件跳轉

  3. 自動語法檢查

  4. 自動補全

  5. 查找定義

  6. 啟動速度快

  7. 如果自己有需求的話插件可以隨便寫

  8. 靈活的運行配置

大環境

  1. OSX

  2. GO 1.4

  3. HomeBrew

go 環境安裝

這一部分是最重要的,如果沒有它,每次build的時候出現 too many errors 心里真的是非常難過的。

  1. 環境配置:(golint,gooracle,mercurial)

    1. 安裝mercurial: brew install mercurial

      這個東西是用來做版本管理的,也是下載代碼的工具類似git,貌似google的項目用的挺多的。

    2. 安裝golint:


$ go get github.com/golang/lint$ 
go install github.com/golang/lint
  1. 安裝gooracle


go get code.google.com/p/go.tools/cmd/oracle
  1. 安裝goimport


go get golang.org/x/tools/cmd/goimports
  1. 安裝gocode


go get -u github.com/nsf/gocode
  1. 安裝 godef


go get -v code.google.com/p/rog-go/exp/cmd/godef
go install -v code.google.com/p/rog-go/exp/cmd/godef
  1. 安裝環境的時候經常會出現下載不下來的問題,大概是我網絡不好吧。連接google經常出現問題。

    解決方案:
    golang中國的下載頻道中有一個第三方包的下載工具,只要輸入地址之后人家會給你提供下載tar包的。
    放到gopath中就ok了。
    此步驟只能替代go get的步驟,最后還是需要go install

  2. go install 之后會在  $GOPATH/bin/ 中出現各種工具文件

    最后不要忘記復制上面的命令到 $GOROOT/bin/下面

    1. gocode 提供代碼補全

    2. godef 代碼跳轉

    3. gofmt 自動代碼整理

    4. golint 代碼語法檢查

    5. goimports 自動整理imports

    6. oracle 代碼callgraph查詢(plugin中還在todolist中,但是不配置一直報錯。實在煩。)

  3. 最后的配置結果(安裝完之后 Package->Go Plus->Display Go Information)


Cover Tool: /usr/local/go/pkg/tool/darwin_amd64/cover
Vet Tool: /usr/local/go/pkg/tool/darwin_amd64/vet
Format Tool: /Users/Li-jianying/git/bin/goimports
Lint Tool: /usr/local/go/bin/golint
Gocode Tool: /Users/Li-jianying/git/bin/gocode
Gocode Status: Enabled
Oracle Tool: /Users/Li-jianying/git/bin/oracle
Git: /usr/bin/git
Mercurial: /usr/local/Cellar/mercurial/3.2.1/bin/hg
PATH: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin

沒有紅色的行就沒有問題了。

項目管理,自動文件跳轉

  1. 插件:project-manager

    這個插件是非常hot的,在atom.io的首頁上排名還是非常靠前的。

  2. 使用細節:

    1. 配合tree view( cmd - \)打開關閉project file

    2. 搜索項目文件 ( cmd -t )

      輸入的時候按照順序輸入關鍵字
      比如說 user模塊的controll中的go源代碼
      搜索的時候可以使用多個快捷鍵 =》 user controll go
      就可以準確的找到源代碼了

    3. 打開項目列表 ( ctrl-cmd-p )

      然后就會顯示出來一個項目列表回車就可以打開項目。

  3. 總結:

    感覺這個插件的treeview用途的確不是很大,因為正常項目的項目文件會很多。
    不過是快速打開項目(文件夾)是非常方便的,配合快速打開文件還是相當爽的。

  4. 按快捷鍵之后的效果展示:

    Golang 環境配置建議(Atom)

    自動語法檢,自動補全

  5. 插件go-plus,autocomplete-plus(dependance),gocode
    使用 apm install 安裝就可以了。速度還可以。

  6. 使用細節 在保存的時候

    1. 會自動補上imports

    2. 會自動整理代碼

      比如說 a:=5 會變成 a := 5
      兩個空行自動變成一個空格

    3. lint自動檢查語法錯誤(go build 的錯誤都會顯示出來)

    4. vet會自動檢查語法拼寫建議

      函數,結構體 會提示補上注釋。
      比如說會提示你函數前面需要加入godoc類型的注釋: // functionname
      注釋的第一行需要使用雙斜杠注釋+空格+函數名+空格+簡短的函數功能說明。

  7. 使用細節: 在編輯的時候

    1. go-plus會配合autocomplete-plus會自動補全包名字(tab補全,回車不行,這個真心舒服)

    2. 包名.之后輸入方法名開頭幾個字母會給出補全建議。

  8. 安裝之后的演示(類似go-plus官方演示)
    Golang 環境配置建議(Atom)

  9. gocode 插件自動補全演示

    1. 這個插件繼承自autocomplete,因為年久失修。api用的是老版本,所以一直都會出現api警告。(我是實用主義,視而不見)

    2. gocode如果找不到就進入代碼找到文件autocomplete-view.coffee 中105行寫成絕對路徑就肯定沒有問題了。

    3. 綁定快捷鍵,因為這個插件沒有綁定快捷鍵的文件(keymap)所以需要在keymap.cson下自己手動綁定配置如下:


'.active.pane':
'ctrl-;': 'gocode:toggle'
  1. 效果演示

    Golang 環境配置建議(Atom)

    查找定義

  2. 插件 godef

  3. 使用細節:
    光標在目標代碼上的時候,使用快捷鍵ctrl-k跳轉到目標代碼的定義代碼上。

靈活的運行

  1. 安裝插件atom-runner

  2. 修改源代碼中的go run運行為go: 'sh [絕對路徑到你的全局run腳上] '+atom.project.getRepo().project.path

  3. 腳本的 $1 會是你項目運行的路徑。然后你的所有項目都可以添加一個run.sh 來指定一個構建運行的方案。

  4. 做完之后不管當前在查看什么文件都可以運行整個項目。

  5. 其他語言也可以這樣做。畢竟單個文件的項目不是很常見(開發的時候)

總結

  1. 我這里只是總結了我用的所有的golang相關的atom插件。

  2. 要相信golang使用編輯器就夠用的事實了。因為go tool實在是太好用了。

我的key map

  1. cmd-dduplicate line

  2. cmd-w關閉標簽

  3. cmd-r文件內的標簽列表

  4. cmd-e使用選中的內容做搜索的pattern

  5. shift-cmd-fproject內部搜索,這個非常實用。command 配置(keymap.cson)
    >


'.platform-darwin atom-text-editor':
  'shift-cmd-D': 'find-and-replace:select-next'

原文地址:http://www.philo.top/2015/02/06/golang-%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%BB%BA%E8%AE%AE/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!