file mode specificat ion erro (user-error could not find ccls project root) ccls 启动不了
重新编译的, 不能找到root 目录 然后连ccls服务也没有启动,按着 你的wiki 设置的
lsp-ccls-enable
調用ccls--get-root
查找項目根目錄。呼叫了(projectile-project-root)
,請確保這個正常返回
新建了一个 .projectile 文件正常了,你把默认的.ccls文件匹配改成了projectile了吗 ,看源码好像是
或者用.ccls-root
。.ccls
每個子目錄都可以用,影響期中的檔案。因此我不想讓.ccls
決定根目錄。
有些人專案的build directory放在同一級,有些build directory放在專案內(我用這一種)
llvm
release
include
llvm
Config
config.h
compile_commands.json
debug
compile_commands.json
如果把compile_commands.json
作爲根標記,config.h
的根就會標錯到llvm/release
了。因此與其設置多個規則,我就簡單地用projectile和.ccls-root
。這樣的壞處是:你下載一些archive比如musl-1.1.19.tar.gz
,解壓,如果裏面沒有.git
等projectile識別的標誌,就認不出根。
喔喔,我当时用json试的时候确实没有.git。
可不可以不使用项目根目录的概念呢?
当ccls直接打开当前或上层目录没有配置文件的代码时,ccls不索引。
当ccls直接打开当前或上层目录有配置文件的代码时,遵从最近的配置文件,缓存到所选配置文件所在的目录。
当ccls通过include打开代码时,无论是第一种情况还是第二种情况,ccls沿用原来的配置,缓存到原来的目录。
想问一下索引生成是否和这个设置有关,如果是已经存在的项目,怎么主动建立索引
這個就像<a href=xxx />
,但是難以知道Referer:
是什麼。lsp-ui-peek--goto-xref
用了hack,如果目標檔案沒有workspace,那麼繼承原檔案的workspace
@lemon0910 打開檔案後lsp-mode會啓動和major mode關聯的language server,自動在後臺索引。
提个问题 company-lsp 如何设置输入3个字符在开始补全 默认貌似一个字符就补全。custom-group 里没有找到
试试:
(company-minimum-prefix-length 3)
解决了 感谢
搞了半天都没什么反应,都不知道我错在哪里, 关键是不知道服务端有没有正常运行,怎么知道后端是否正常运行? 我系统是ubuntu 18.04 试了clangd作c++后端,感觉没反应,好像还是我的ggtags在起作用
我也有这个问题,想问一下后面您是怎么解决的呢?
不知道有没有人用过CMT MAKE,这套工具该怎么使用ccls呢?
还是company-tabnine牛逼,并且配置简单,如果你不用预览版的话也可以满足日常需要了 不过预览版还真是逆天了:slight_smile:
你还可以使用语法补全使得补全更为精准
在配置文件里限定后端,比如.cpp可以限定cquery或ccls
这个config_dir一般是在哪个目录
我的好像是是.config/TabNine下