Bitcoin-Core-Development

如何配置 Vim 以使用比特幣核心 C++ 原始碼並具有類似 Intellisense 的功能?

  • September 1, 2022

我使用 Vim 進行編輯,我安裝了 Conquer Of Completion (COC) 外掛,現在我可以使用 Vim 編輯 C++ 項目,利用語法突出顯示、自動完成、內聯錯誤消息等。但是當我嘗試打開比特幣原始碼文件時,我得到了錯誤太多,例如:

Too many errors emitted, stopping now 'wallet/coinselection.h' file not found Unknown type name 'OutputGroup' 等等。

是否有在 Vim 中使用原始碼的最佳實踐,或者至少有一些您可以分享的一般性建議?

謝謝!

我發現了問題,必須為Clangd語言伺服器生成一個基於項目的建構數據庫才能完成它的工作。為此,我使用了Bear,這是一個攔截建構命令並為 clang 工具 (compile_commands.json) 生成編譯數據庫的工具。我還製作了一個影片: https ://youtu.be/lC5USwFM6EQ (英語)、 https ://www.youtube.com/watch?v=5tkgqzxic-Q (西班牙語),解釋了我是如何進行安裝和配置的。我希望這可以幫助其他開發人員。

我懷疑這是您的外掛而不是 Vim 的問題。嘗試禁用外掛,看看是否有同樣的問題。我可以毫無問題地打開和編輯所有比特幣核心原始碼文件,包括wallet/coinselection.h使用 Vim。

我無論如何都不是 Vim 專家(希望有人會回答),但對於一般使用 Vim 的建議(不是比特幣核心特定的)vimrc是一種流行的 Vim 配置,這個Changelog 播客包含許多使用 Vim 的技巧,包括客人的點文件的連結。

您需要使用vimdiff來審查拉取請求。正如 Jon Atack 在本文件中所說:

在建構和測試執行時,開始在本地環境中使用差異工具分別審查每個送出,如 gitk、meld、meld for macOS、GNU ediff for Emacs、vimdiff 或 vim-diffconflicts for Vim、opendiff on macOS 或 diffoscope

還有一個 Vi/Vim StackExchange

引用自:https://bitcoin.stackexchange.com/questions/115031