c/c++ 补全

你安装一个叫作 ivy 的插件试试

M-x package-install [RET]  counsel  [RET]

配置

(ivy-mode 1)
(setq ivy-use-virtual-buffers t)
(global-set-key (kbd "M-x") 'counsel-M-x)
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
(global-set-key (kbd "C-h f") 'counsel-describe-function)
(global-set-key (kbd "C-h v") 'counsel-describe-variable)
(global-set-key (kbd "C-h l") 'counsel-find-library)

ivy我下过。。后来发现好像没什么用 我用的helm

哦,好吧,你刚刚进入一个新文件的时候不要按任何按键,按下 tab 试试

这到底是什么玩意? 另一个项目里的文件都显示过来了 当前项目还编译不过了 因为生成了一个 cache文件。。

搞不懂什么机制啊。。

不是自动寻找 comp-json 然后启动server完成补全么。。。

右边那个是 lsp-ui 的功能, 可以通过下面配置关闭,我觉得你应该把 lsp-ui 的 README 认真读一遍 (setq lsp-ui-sideline-enable nil)

应该是 flycheck 的功能

我整理一下问题哈 : flycheck我禁用了 现在主要问题是 我无法判断 cquary是否正常

有时候开文件 会有提示选项 有时候又没有

然后还会生成一个 .cquery_cache_index的文件

第一次打开时会有,选择了之后就没有了,你没有安装 ivy 的话可以通过 Tab, 来进行选择。

生成一个 .cquery_cache_index 的话说明你已经进行过选择了

主要是我删掉重新打开 也不弹菜单 让我选择

有什么函数可以让我手动打开菜单么

这个.cquery_cache 每个文件夹下面都有 :joy:

在 .emacs.d 下有一个 .lsp-session-v1 文件,你可以看一下,应该很容易看懂,删掉相应的目录就可以重新选择项目根目录了

好的 我先看一下

所有都回归初始状态 出现了弹框 选择第一个 回车

就报这个错

然而功能正常

外部库头文件不会提示

还有个问题

我的cmake 默认查找当前路径下所有路径中的.cpp 这个cache 文件中 有.h 还有 .cpp 影响编译了。。。 有没有什么解决办法 image

不怎么懂 cmake, cmake 查找什么文件不是自己指定的?

外部库的那个估计需要 .cquery 文件或者 compile_commands.json 文件指定外部库的位置才可以进行补全

好吧 cmake的问题跳过 我自己解决一下

image

外部库头文件没法补全 是没这个功能 还是 我姿势不对

ok~~ Thanks

mac直接brew就好了

大佬 打扰一下 (setq ccls-cache-dir “~/tmp/”) 怎么没用 缓存还是在项目中 还是说 每个项目都有自己的 .ccls-cache

這些defcustom是用來組成initialization options的,在lsp-mode.el (lsp-*-enable) -> lsp.el (lsp)遷移時我覺得沒有必要就刪除了。

這些問題你透過閱讀https://github.com/MaskRay/ccls/wiki/Initialization-options是能自己發現的。

好的 感谢回复 我会仔细阅读了。。就是有些看不懂