Skip to main content

番外篇 Goland(JetBrain) 好用功能

在前面的開發流程中,會發現說我們有時候開發到一半,才會突然發現

  1. 變數名稱怪怪的想修正
  2. func的參數想要修正
  3. struct 臨時想要多一個屬性
  4. 當一段程式越寫越長,想把他裡面的內容抽成func時會覺得很困擾
  5. 在程式內如果想要參考一個變數的definition或是誰有使用他時,會需要去尋找他在哪裡,以及察看完內容之後,想要快速回到剛剛編輯的地方

諸如此類的功能,或多或少在開發的過程都會遇到這些問題,我相信在vscode或是sublime之類的編輯器也有這樣的功能,但在體驗了這麼多的編輯器後,IDE 所提供的功能還是更加的完整,雖然可能需要的電腦資源會比較多,但如果可以用一些電腦的資源來換取更好的開發體驗,我覺得是相當值得的

在這邊放上工具的介紹,如果有興趣的話可以下載這個工具下來嘗試看看

重新命名 https://www.jetbrains.com/help/go/rename-refactorings.html

抽method https://www.jetbrains.com/help/go/extract-method.html

struct想新增屬性 先打上一個不存在的屬性,按下alt+enter,選擇自動產生屬性即可

察看func實做的內容 按下cmd然後用滑鼠點擊你想要察看的func即可

回到上一個編輯的位置 cmd+[

這幾個應該是我最常使用的功能了

另外,關於refactor的功能,我都是在需要的地方按下cmd+t,然後呼叫選項來進行選取

最後,想再補充一點,因為在jetbrain的工具下,可以將VIM的指令跟他們原本提供的功能作綁定(Ideavim),可以讓上面這些功能變的更加讓人好操作 想綁定的功能可以透過以下方法綁定到vim的快捷鍵

  1. Ideavim: track actions id
  2. 在.ideavimrc裡面放上
    nmap gd :action GotoDeclaration<CR>
    GotoDeclaration就是按下cmd並點下func的功能,上述這段就是在描述說

在vim的一般模式下,按下gd,就可以幫你執行你現在游標位置的進入他的宣告位置的功能

最後最後,在這些工具的選擇,並沒有說哪個工具是最棒的,只要能順利完成你的工作,讓你能用最快的速度達成你想要做的,就是最好的工具了

所以今天分享的就算都不用,也不會影響前面介紹的所有功能的