亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Doom Emacs 中對 golang 的完整 IDE 功能支持

Doom Emacs 中對 golang 的完整 IDE 功能支持

Go
藍山帝景 2022-06-06 15:31:11
我是 vim 用戶多年,最近開始玩 emacs,在嘗試了 Spacemacs 和 Prelude 之后,Doom Emacs 是我的最終選擇。那些日子我正在使用 (go +lsp) 和 (lsp) 模塊配置 golang 開發,Doom 的所有開箱即用功能都令人印象深刻,感謝您出色的工作 hlissner?,F在我對以下基本功能感到滿意:自動完成飛檢片段其他 go-mode 功能但為了提高效率,我想要更多類似 IDE 的功能,例如:導航:到目前為止,我只找到了可以在當前緩沖區中選擇符號的顧問-imenu(候選者未按方法/函數/var/const/接口等分組),但我該怎么做:在項目中查找符號在項目中查找接口在項目中查找結構在項目中查找方法查找導出的函數,可能在指定的包中在源代碼和相關測試文件/方法之間切換并強制等等...生成/操作代碼的更復雜的操作:snippets 和 go-gen-test 有很大的幫助,但是否可以執行以下操作:在不同范圍內生成未聲明的方法/字段/函數/包的代碼操作,現在它似乎只能生成變量。(這是基于 lsp 后端支持嗎?我找到了一個 java 的視頻,但找不到一個 go)如果我指定要為結構實現的接口,則自動生成方法模板從結構中刪除方法如果我刪除一個函數/方法,自動刪除相關的測試/基準函數有人可以幫我嗎?并且感謝任何經驗/提示。
查看完整描述

1 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

歡迎登機!

我自己不是圍棋程序員,所以這些主要是第二手帳戶,但 Doom 的:lang go模塊提供了您所要求的大部分內容。我建議使用goplslangserver。為此:

  1. 啟用這些模塊

    • :lang (go +lsp)

    • :tools lsp

    • :editor snippets(應該默認啟用)

  2. 通過您的操作系統的包管理器安裝gopls(iirc 它隨 Go 1.12+ 提供)。

  3. 運行~/.emacs.d/bin/doom sync以確保 Doom 與這些更改正確同步。

你應該很高興。以下是您應該知道的一些有用的(以邪惡為中心的)鍵綁定:

  • gd +lookup/definition-> 轉到點符號的定義

  • gD +lookup/references-> 跳轉到該符號的引用

  • K +lookup/documentation-> 在點查找符號的文檔

  • SPC c a lsp-execute-code-action-> 執行任意代碼操作(其中應包括自動生成您所要求的內容)。

  • SPC m h d go-guru-describe -> 描述這個

  • SPC m h v go-guru-freevars -> 列出自由變量

  • SPC m h i go-guru-implements-> 實現包類型的關系

  • SPC m h p go-guru-peers -> 列出通道的對等點

  • SPC m h P go-guru-pointsto -> 這是什么意思

  • SPC m h r go-guru-referrers -> 列出對對象的引用

  • SPC m h c go-guru-callers -> 顯示此函數的調用者

  • SPC m h C go-guru-callees -> 顯示這個函數的被調用者

  • SPC m t t +go/test-rerun -> 重新運行上次測試

  • SPC m t a +go/test-all -> 運行所有測試

  • SPC m t s +go/test-single -> 在點運行測試

  • SPC m t n +go/test-nested -> 在下面運行測試

您會在 :lang go 模塊中找到更全面的鍵綁定列表(請注意,這SPC是 Doom 的領導密鑰,SPC m也是它的本地領導密鑰。對于非邪惡用戶,它們分別是C-cC-c l)。

片段模塊帶有一個片段庫。您可以在此處找到我們適度的 go 代碼片段,也可以將自己的代碼添加到~/.doom.d/snippets/go-mode/.

我還建議您訪問:lang go自述文件。它需要更新,對于 gopls 需要多少它,我幾乎不是一個很好的資源,但也許它可以幫助覆蓋一些極端情況。


查看完整回答
反對 回復 2022-06-06
  • 1 回答
  • 0 關注
  • 554 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號