開發系統: Mac OS X 10.11.5 EI Capitan 開發工具:node
基本想法就是:在集成開發環境下寫代碼比較輕鬆,可以自動完補定位什麼的,愈發檢查經過了之後,再在特權容器裏編譯測試運行,甚至,經過IDEA遠程調試,就是gdbserver那一套。linux
想得簡單,實際作了一下,出了gdb remote之外都還行,可是也有些不爽的地方。golang
用IntelliJ IDEA打開docker源碼目錄,剩下來的他怎麼提醒就怎麼作。docker
隨便一打開一個go文件,它就提醒安裝golang插件。那就點擊安裝。api
####而後提示沒有Go SDK,那就安裝Go SDK到本機:工具
brew install golang
而後把SDK路徑配製成 /usr/local/Cellar/go/1.6.3/libexec
。 開發工具
####而後Go插件唧唧歪歪說缺乏GOPATH環境變量。 這就是噁心的地方了,這還算好的了,之前還須要另外一個GOROOT變量,通過進化,終於省掉了一個,但是還留着尾巴。別想這垃圾了,隨便設定一個就好了。 測試
這個GOPATH其實至關於NodeJS的NPM管理包的node_modules目錄。gradle
Docker的編譯環境裏甚至用的是export GOPATH="$(mktemp -d)"
,臨時目錄。你說這東西能有什麼名堂,乾脆都這樣搞算了,就像Xcode那樣,每一個Project見一個臨時目錄在外面,乾乾淨淨。插件
因此這東西壓根就是多慮產生的廢物,最簡單的方法是在用戶的環境變量裏設定成~/go
之類的(目錄本身先建一下),再多慮的那就在Project設定裏本身指定一個目錄。
####而後,就會發現源碼裏處處紅色錯誤說import失敗。 解決方法就是,IntelliJ一向的做風:在錯誤的地方點一下,行頭會漂浮出一個解決方案,哈,就是下載軟件包,固然不用每一個相同的錯誤都一個個點過去,而是執行漂浮菜單裏的那個個「所有搞定」的命令。
####最後仍是有東西紅色錯誤,說什麼container.Container不存在。 Mac裏沒有的東西,只有linux/unix有,因此得把golang的編譯器設定成linux。 就改一點:
####這下都安靜了。
這個IntelliJ IDEA雖然吃內存啓動慢,可是機器好時都不是問題,很智能,寫起代碼很舒服。
####Remote gdb呢? 沒想到的是, IntelliJ IDEA雖然能輕鬆的調試本地的Go代碼,但不能像Java那樣遠程調試到別的機器裏的。
暫時也沒找到遠程gdb插件。仍是手動gdb命令行搞算了。
####看來Go語言的開發環境還處在初級階段。 1.卻少Java裏相似於gradle之類的統一天下的自動加載package的機制。 2.卻少remote debug,不利於調試容器中的東西。 3.垃圾環境變量GOPATH還沒消除,至少搞成可選配置也好啊。要是沒這強制要求估計自動package加載就行了,反正go get都有了。
總之讓人上手就得折騰就很差。
不過golang自己不錯,雖然醜陋可是把它想象成C語言的升級版就很以爲賺大了。
2016/07/27:想起IntelliJ IDEA還有一個分支是C/C++開發環境,叫作CLion,裏面極可能有gdb remote debug功能,回頭試試看。