再論 golang 環(huán)境配置建議
摘要
在之前的實踐中滿足開發(fā)環(huán)境所有特征的情況下進行了大量方式上的升級。經(jīng)過8次的版本升級,調整,爬坑,終于覺得這次版本升級足夠有意義替代之前版本的建議。
我總覺得花一少部分的時間調整開發(fā)工具讓自己的工作效率更高是非常值得的。
本次祭出大招Docker來作為項目開發(fā)的主要腳手架。
并且我現(xiàn)在認為一個好的開發(fā)工具應該滿足:
-
項目管理
-
快速文件跳轉
-
自動語法檢查
-
自動補全
-
查找定義
-
啟動速度快
-
如果自己有需求的話插件可以隨便寫
-
靈活的運行配置
但是根據(jù)10個月的開發(fā)實踐,除了上面這些之外還需要兼顧:
-
國內(nèi)的網(wǎng)絡環(huán)境
-
升級方便
-
隨時隨地快速部署自己的開發(fā)環(huán)境
-
能在線上服務器進行開發(fā),隨時隨地升級版本修改代碼。
Docker Registry
docker pull index.tenxcloud.com/philo/golangdev:1.2.1
docker pull lijianying10/golangdev:1.2.1
如果你還不會docker請參考這里。
Dockerfile
升級日志
1.2.1
-
修復vim下escape有時間延遲(解決方法見.vimrc最后一行)
-
Ctrl+s保存的時候添加代碼格式檢查(其實就是追加命令 :GoMetaLinter)
-
更新golang到1.5.2 based on Debian 8
特征解釋
兼顧國內(nèi)網(wǎng)絡情況
-
使用Dockerfile從國外VPS構建,然后推送到時速云備用。這種構建方式適合調試
-
推薦!如果您在國外沒有VPS推薦使用時速云TCE來構建,從香港節(jié)點自動化構建隨時能看到日志。參考文檔。
升級方便
-
直接修改Dockerfile完成升級,調整From就可以調整底層系統(tǒng)使用。
-
可根據(jù)您的需要隨時定制自己的版本。非常方便
隨時能夠快速部署
-
Docker啟動速度非???/p>
-
如果您沒有Image在內(nèi)網(wǎng)該Image也只有1GB大小可非??焖俚膫鬏?shù)侥碾娔X。
-
國內(nèi)準備好了加速源,詳細查看Docker Registry部分。時速云確實挺快的。
-
如果您的工作站安裝的是CoreOS or Rancher這種的Docker Linux 不但安裝快,部署開發(fā)環(huán)境也是一瞬間完成。
能夠在線上服務器進行線上代碼調整
-
只要部署到線上服務器直接就可以使用。
-
老板再也不用擔心我的集成新功能速度太慢了。
使用方法
文件跳轉(Command-T)
快捷鍵: <leader>t
注意:<leader>在我的vim配置里面是反斜杠,插件快捷鍵參考官方文檔
項目管理(NERD_tree)
快捷鍵: M-u
注意: 插件快捷鍵參考官方文檔
自動語法檢查
觸發(fā): 每次保存文件
命令:
:GoMetaLinter, which invokes all possible linters (golint, vet, errcheck, deadcode, etc..) and shows the warnings/errors
例子中:Struct默認要求有注釋,不然就會報警。對于常用的拼寫比如說ID有嚴格的檢查需要符合大眾的拼寫習慣。
其他正確性檢查這里不再贅述。
自動補全
注意:在最上面會顯示API文檔,想關閉文檔快捷鍵:M-c
查找定義位置
快捷鍵:M-n
Outline 快速跳轉(Tagbar)
快捷鍵:M-p
快速關閉文件
快捷鍵:C-c
文件標簽切換
快捷鍵: M-i 切換到上一個 快捷鍵: M-o 切換到下一個
保存文件
快捷鍵 C-s
注意: Stop tty已經(jīng)被我關閉,不必擔心tty被鎖。
總結
在上面我總結的全部都是我加的快捷鍵用起來比較舒服的。如果您需要自己修改快捷鍵請fork我的github REPO。
如果您有任何改進意見請回復留言給我發(fā)Email。先謝過。
vim還有很多默認的快捷鍵這里就不再多說,最好的學習方法是想到自己有什么習慣或者需要快捷鍵支持去google找找。