ccls, clangd, cquery, 你更看好谁?

coc.nvim +ccls 我之前试过,体验还是很不错的。还有个问题很奇怪,同样的配置,我就是把后端从ccls换成了clangd,然后补全候选中就不出现yasnippet的结果了,只有clangd的补全结果。yas的代码块还是可以手动展开。

clangd不支持gbk这些编码,索引的时候会崩溃,ccls没这个问题,用着很爽

很好用啊,除了模板没法补全,别的大型工程,补全很爽啊,你没用对吧

ccls跟clangd的配置不一样,得自己配置。看文档

1 个赞

怎么算用对呢?安装设定那些我都是跟着官方的文档来的,过程中我也看不到任何错误。搭起来也是部分功能能用,部分功能不能用,也找不到错误信息,这对于普通用户来说,遇到问题根本无解啊。

请问你说的模板不能补全指的是?

其实你看ccls文档,他有告诉你需要配置哪些参数,最核心的就是要告诉他去哪里找编译数据库,也就是那个json文件

自己写的一些模板类,模板函数,不能补全

另外如果你是msvc的项目,不能用msys编译的ccls,会不补全,得用msvc编译才行

约3年cquery/ccls使用经验。

先用cquery后面切换ccls的,使用环境开始是arch后面一直是wsl-debian,最近迁移到wsl2-debian

clangd对我来说主要问题是没有丰富的色彩,ccls这个就很好使,

像我这样的半吊子程序员,lsp给的提示信息越多,我犯错的概率就越少,编码时胆子就很大。

我是用的ubuntu的包管理系统直接下载的预编译好的ccls和clangd程序;我没有配置那个.json文件;就一个单个的cpp文件的时候不配置应该也不影响吧?但还是会有问题。

在这个论坛里一直有人表示这东西能用,可是在这个论坛以外我从来没见过有人写过博客、发过视频,演示过安装、配置以及实际使用的过程。搞得我现在都很怀疑这个事实了。

或者这么问吧,emacs+lsp能否达到ide(vs, vscode, intelliJ)那种程度的代码解析?我是很想把emacs也能配得这么神奇的,但是从lsp这东西出来,我一直都没配好过……

最神奇的是,我昨天测试和今天测试的结果不一样,然而我也没改什么东西……

可以啊,生成json文件就行了,不然他不知道怎么解析你的代码,即使是vscode的官方插件也是需要那个json文件的。

我用ccls/lsp-mode时感觉还好,没有这么大的问题,只是偶尔一些小毛病可能还未必是server端的

并不啊,我vscode直接打开虚幻引擎工程就可以解析,并没配那个json文件。别人的工程拿过来,不是用的CMake的话,该怎么生成呢?而且还有一个存在的问题就是单文件的解析也有bug……

  • 非CMake工程,可以试试用Bear。 (当然这似乎得是make的工程)

  • 按道理单文件如果只用了C++标准库的话,只要代码本身没有问题一般都是okay的。你说的这个现象确实比较奇怪

能给我推荐一个CMake工程我试试看?

ccls就是

msys2上的clangd是手工编译还是pacman -S安装的,中科大的软件源没有搜到

我现在用ccls,感觉比较省事