YCM推荐选项
由于C++语言的复杂性,根据语义对C++进行代码补全并非易事。最近浏览YouCompleteMe项目,发现它已经开始向用户推荐使用clangd作为C++ Completer。与libclang相比,YCM列举了不少clangd的优势(如下图所示)。简单讲,clangd的好处有:全项目索引、代码跳转、变量重命名、更快的代码补全、提示信息、格式化代码等。
YCM的建议也呼应了2018年XCode团队将目光从libclang转向clangd的动作。尽管YCM的install.py脚本依旧将clang completer列为测试功能。但看过clangd的优点,让人不禁期待尝试一番。
谈到clangd,就不得不提及LSP(Language Server Protocol)。为了减少插件作者在不同编辑器