Goland 这些实操技巧,你可能还不会!
工欲善其事必先利其器。對于開發工程師同樣如此,一個合適的開發工具能夠有效提升我們的開發效率和定位問題的能力。
Golang IDE 被 Gopher 接受的其實不太多,Goland 和 VSCode 應該是占比重最大的。vim-go 真心就不推薦了,入門曲線太過陡峭,太過華而不實(vim 黨不要噴我),我們就寫程序而已,何苦為難自己呢。
我日常開發中,Goland,Vscode 一般會配合使用。對于 VsCode 來說,我唯一覺得不方便的是 VSCode 的 Debug 功能,配置起來麻煩,而且總有種很卡的感覺。
本篇文章我會介紹一點 Goland 開發中比較常見的一些技巧,幫助你快速入門 Goland。
Goland Debug 調試
這里首先吐槽下 delve,對于用慣 gdb 的人來說,delve 簡直弱爆了。
舉個例子,gdb 有個非常強大的 ?x[1]?功能,能夠去觀察變量內存分布情況。delve 在 1.7.0 版本才提供這個功能,簡單試用了一下,沒有達到想象中的效果,不過也是可以使用的。這里就不在詳細介紹,有興趣的可以 delve help x 去查看。
更多時候我喜歡使用 goland 調試代碼,基本滿足日常的開發需求。這里分享幾種進入 debug 模式的方式。
對于后端開發來說,一個趁手的接口調試工具是不可缺少的。在介紹如何 debug 接口之前,先推薦幾款比較不錯的接口調試工具。
REST?Postman[2]
GRPC?Bloomrpc[3]
GraphQL?Insomnia[4]
主要步驟:
打斷點
點擊 debug 按鈕啟動程序
Postman 調用接口
單步調試
有些情況下,我們封裝完底層基礎函數后,接口調用該函數一直報錯。如果從外面一層一層的 debug 進來,會特別麻煩,使用單測函數作為 debug 的入口也是特別方便的事情。
設置參數
一般情況下,不管我們使用 Goland 啟動程序還是 Debug,都會遇到讓輸入參數的情況的。這個是個蠻重要的功能,但是很多同學不會設置。
主要步驟:
點擊右上角:Edit Configuration ...
在彈出的框里選擇正確的 Working Directory
在 Program arguments 里填寫對應的參數即可
go 工具鏈引入
使用 Vscode 的同學會注意到,當我們打開 Go 源碼文件時,會提示我們安裝一套完整的工具鏈,在這一點上 Vscode 比 Goland 優秀太多了。Goland 不但沒有一鍵導入的功能,而且每個工程都需要引入一遍,著實太坑。
Goland 可以引入 gofmt, goimport,當然還可以自定義其他相關的工具。不過根據我的使用來看,開著 gofmt 就可以了。
推薦一些好用的插件
ideaVim
Material Theme UI
Monokai Pro theme
Goland 莫名其妙的 Index 失效
Goland 在使用的過程中,可能會遇到莫名其妙的 Index 失效的情況。你可以通過下面的步驟來重新生成 Index。
go mod tidy
go build .
Goland -> Preferences -> Go -> Go Modules -> Enable Go Modules integration -> 配置 goproxy
右鍵點擊項目根目錄->Mark Directory as -> Resource root
重啟 Goland
如果上面這些步驟執行完畢后,你的程序能夠正常構建,但是 Goland 仍然提示 "Unresolved reference ", 那么恭喜你中獎了。
Goland 有很低概率會遇到 Index 完全失效,而且無法恢復,目測這是 Goland 的 Bug,遇到的概率不太高。
解決方案:
其實沒有啥解決方案。我通常會這么做:徹底刪除 Goland,再重新安裝。
本篇文章中關于 Goland 的使用技巧,你是否感興趣呢?歡迎留言評論,如果反響不錯我會繼續發出后續篇章(包括vscode)。
[1]? ??x:?https://visualgdb.com/gdbreference/commands/x
[2]Postman:?https://www.postman.com/
[3]Bloomrpc:?https://github.com/uw-labs/bloomrpc
[4]Insomnia:?https://support.insomnia.rest/
總結
以上是生活随笔為你收集整理的Goland 这些实操技巧,你可能还不会!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搞定系统设计 03:系统设计面试的答题框
- 下一篇: 云原生环境下对“多活”架构的思考