你安装一个叫作 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 每个文件夹下面都有
在 .emacs.d 下有一个 .lsp-session-v1 文件,你可以看一下,应该很容易看懂,删掉相应的目录就可以重新选择项目根目录了
还有个问题
我的cmake 默认查找当前路径下所有路径中的.cpp
这个cache 文件中 有.h 还有 .cpp 影响编译了。。。
有没有什么解决办法
不怎么懂 cmake, cmake 查找什么文件不是自己指定的?
外部库的那个估计需要 .cquery 文件或者 compile_commands.json 文件指定外部库的位置才可以进行补全
好吧 cmake的问题跳过 我自己解决一下
外部库头文件没法补全 是没这个功能 还是 我姿势不对
大佬 打扰一下 (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是能自己發現的。