再論 golang 環境配置建議
摘要
在之前的實踐中滿足開發環境所有特徵的情況下進行了大量方式上的升級。經過8次的版本升級,調整,爬坑,終於覺得這次版本升級足夠有意義替代之前版本的建議。
我總覺得花一少部分的時間調整開發工具讓自己的工作效率更高是非常值得的。
本次祭出大招Docker來作為專案開發的主要腳手架。
並且我現在認為一個好的開發工具應該滿足:
- 專案管理
- 快速檔案跳轉
- 自動語法檢查
- 自動補全
- 查詢定義
- 啟動速度快
- 如果自己有需求的話外掛可以隨便寫
- 靈活的執行配置
但是根據10個月的開發實踐,除了上面這些之外還需要兼顧:
- 國內的網路環境
- 升級方便
- 隨時隨地快速部署自己的開發環境
- 能線上上伺服器進行開發,隨時隨地升級版本修改程式碼。
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
特徵解釋
兼顧國內網路情況
- 使用Dockerfile從國外VPS構建,然後推送到時速雲備用。這種構建方式適合除錯
- 推薦!如果您在國外沒有VPS推薦使用時速雲TCE來構建,從香港節點自動化構建隨時能看到日誌。參考文件。
升級方便
- 直接修改Dockerfile完成升級,調整From就可以調整底層系統使用。
- 可根據您的需要隨時定製自己的版本。非常方便
隨時能夠快速部署
- Docker啟動速度非常快
- 如果您沒有Image在內網該Image也只有1GB大小可非常快速的傳輸到您的電腦。
- 國內準備好了加速源,詳細檢視Docker Registry部分。時速雲確實挺快的。
- 如果您的工作站安裝的是CoreOS or Rancher這種的Docker Linux 不但安裝快,部署開發環境也是一瞬間完成。
能夠線上上伺服器進行線上程式碼調整
- 只要部署到線上伺服器直接就可以使用。
- 老闆再也不用擔心我的整合新功能速度太慢了。
使用方法
檔案跳轉(Command-T)
快捷鍵: <leader>t
注意:<leader>在我的vim配置裡面是反斜槓,外掛快捷鍵參考官方文件
專案管理(NERD_tree)
快捷鍵: M-u
注意: 外掛快捷鍵參考官方文件
自動語法檢查
觸發: 每次儲存檔案
命令:
: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已經被我關閉,不必擔心tty被鎖。
總結
在上面我總結的全部都是我加的快捷鍵用起來比較舒服的。如果您需要自己修改快捷鍵請fork我的github REPO。
如果您有任何改進意見請回復留言給我發Email。先謝過。
vim還有很多預設的快捷鍵這裡就不再多說,最好的學習方法是想到自己有什麼習慣或者需要快捷鍵支援去google找找。
相關文章
- ubuntu下golang環境配置UbuntuGolang
- visual studio golang環境配置Golang
- Golang(go語言)開發環境配置Golang開發環境
- Vscode配置golang開發環境VSCodeGolang開發環境
- GoLang之Concurrency再討論Golang
- 手把手帶你進行Golang環境配置Golang
- golang開發環境配置及Beego框架安裝Golang開發環境框架
- golang在win10安裝、環境配置 和 goland(IDE開發golang配置)GolangWin10GoLandIDE
- 用Vagrant構建統一的golang開發環境Golang開發環境
- golang環境搭建macGolangMac
- golang環境安裝Golang
- GOLANG環境設定Golang
- 在Visual Studio Code配置GoLang開發環境Golang開發環境
- 基於GitLab CI搭建Golang自動構建環境GitlabGolang
- 如何構建一個高效的 golang web 開發環境GolangWeb開發環境
- 配置軟體原始碼包構建環境原始碼
- app自動化測試環境配置:adb環境配置、monkey環境配置、appium環境配置大全APP
- golang-wasm 環境搭建GolangASM
- Centos下搭建golang環境CentOSGolang
- 環境配置
- mac環境下配置nginx反向代理,https協議MacNginxHTTP協議
- Redhat linux AS4 環境下iSCSI協議配置RedhatLinux協議
- 配置開發環境、生成環境、測試環境開發環境
- golang 快速入門 [2.1]-go 語言開發環境配置-windowsGolang開發環境Windows
- vscode配置golang開發環境手把手描述篇VSCodeGolang開發環境
- golang 入門之環境搭建Golang
- GOLang開發環境搭建(Windows)Golang開發環境Windows
- golang 開發環境問題Golang開發環境
- Golang GRPC 環境 問題GolangRPC
- Flutter環境配置Flutter
- php環境配置PHP
- vue – 環境配置Vue
- JAVA環境配置Java
- 一、環境配置
- [Bitnami]Gitlab環境構建後的必會配置Gitlab
- 『忘了再學』Shell基礎 — 23、其他環境變數配置檔案變數
- 生產環境中使用Docker Swarm的一些建議DockerSwarm
- 編譯環境 Golang開發環境 vscode+git編譯Golang開發環境VSCodeGit