Golang 環境配置建議(Atom)

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

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/

開發環境的必要特徵

  1. 專案管理
  2. 快速檔案跳轉
  3. 自動語法檢查
  4. 自動補全
  5. 尋找定義
  6. 啟動速度快
  7. 如果自己有需求的話外掛程式可以隨便寫
  8. 靈活的回合組態

(project,lint,hint,autocomplete)

要實現上面幾點我們來一步一步的配置。

我的大環境

  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: shell $ go get github.com/golang/lint $ go install github.com/golang/lint
    3. 安裝gooracle shell go get code.google.com/p/go.tools/cmd/oracle
    4. 安裝goimport shell go get golang.org/x/tools/cmd/goimports
    5. 安裝gocode shell go get -u github.com/nsf/gocode
    6. 安裝 godef shell go get -v code.google.com/p/rog-go/exp/cmd/godef go install -v code.google.com/p/rog-go/exp/cmd/godef
  2. 安裝環境的時候經常會出現下載不下來的問題,大概是我網路不好吧。串連google經常出現問題。 > 解決方案: > golang中國的下載頻道中有一個第三方包的下載工具,只要輸入地址之後人家會給你提供下載tar包的。 > 放到gopath中就ok了。 > 此步驟只能替代go get的步驟,最後還是需要go install

  3. go install 之後會在 $GOPATH/bin/ 中出現各種工具檔案

    1. gocode 提供代碼補全
    2. godef 代碼跳轉
    3. gofmt 自動代碼整理
    4. golint 代碼語法檢查
    5. goimports 自動整理imports
    6. oracle 代碼callgraph查詢(plugin中還在todolist中,但是不配置一直報錯。實在煩。)

最後不要忘記複製上面的命令到 $GOROOT/bin/下面

  1. 最後的配置結果(安裝完之後 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. 按快速鍵之後的效果展示: 

    自動文法檢,自動補全

  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官方示範) 

  9. gocode 外掛程式自動補全示範

    1. 這個外掛程式繼承自autocomplete,因為年久失修。api用的是老版本,所以一直都會出現api警告。(我是實用主義,視而不見)
    2. gocode如果找不到就進入代碼找到檔案autocomplete-view.coffee 中105行寫成絕對路徑就肯定沒有問題了。
    3. 綁定快速鍵,因為這個外掛程式沒有綁定快速鍵的檔案(keymap)所以需要在keymap.cson下自己手動綁定配置如下:json '.active.pane': 'ctrl-;': 'gocode:toggle'
    4. 效果示範

      尋找定義

  10. 外掛程式 godef

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

靈活的運行

  1. 安裝外掛程式atom-runner
  2. 修改原始碼中的go run運行為go: 'sh [絕對路徑到你的全域run腳上] '+atom.project.rootDirectories[0].path
  3. 指令碼的 $1 會是你項目啟動並執行路徑。然後你的所有項目都可以添加一個run.sh 來指定一個構建啟動並執行方案。
  4. 做完之後不管當前在查看什麼檔案都可以運行整個項目。
  5. 其他語言也可以這樣做。畢竟單個檔案的項目不是很常見(開發的時候)

總結

  1. 我這裡只是總結了我用的所有的golang相關的atom外掛程式。
  2. 要相信golang使用編輯器就夠用的事實了。因為 go tool 實在是太好用了。

我的key map

  1. cmd-d duplicate line
  2. cmd-w 關閉標籤
  3. cmd-r 檔案內的標籤列表
  4. cmd-e 使用選中的內容做搜尋的pattern
  5. shift-cmd-f project內部搜尋,這個非常實用。command 配置(keymap.cson) >json '.platform-darwin atom-text-editor': 'shift-cmd-D': 'find-and-replace:select-next'

感謝golang

  1. golang能有如此的開發體驗,以及在如此低的版本中表現的這麼好。實在是大牛賜予我們最好的禮物了。
  2. golang的有如此好的開發工具加上各種擴充性比較強的編輯器(vim,emacs,sublime,atom等)開發體驗的確是非常好的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.