另外,当文件有L"中文"这样的字符串的时候,text highlight的位置不太正常。
还是就是貌似和cqeury一样,当server启动好久之后,buffer里的操作就变得有点卡了。
另外,当文件有L"中文"这样的字符串的时候,text highlight的位置不太正常。
还是就是貌似和cqeury一样,当server启动好久之后,buffer里的操作就变得有点卡了。
安装 libstdc++-7-dev
之后编译通过。
我在~/bin/ccls
放了一個wrapper,指向編譯好的executable
#!/bin/sh
exec ~/Dev/Util/ccls/release/ccls "$@" --log-file=/tmp/cc.log
ccls-executable
保持預設值ccls
不動
/tmp/cc.log
能看到日誌,裏面有沒有對該xxx.hpp
有更詳細描述?
借问一下, 现在ccls和cquery具体有什么差异了? 最近cquery用起来感觉有点不太好了, 比如已知的头文件补全问题, 以及语法解析有点慢等. 切换的话, 想先了解一下…
ccls 最新版本打个 tag 吧。
https://github.com/MaskRay/ccls/releases/tag/0.20180521 cmake加了zlib,改善了列目錄,沒太大區別
另,aur/ccls-git archlinuxcn/ccls-git
用的clang 6.0.0-1 (-DSYSTEM_CLANG=on
)已知是壞的,等6.0.1再看看有沒有好轉。差別我列了一個表格https://github.com/MaskRay/ccls/blob/master/README.md
cquery爲什麼最近不太好了。我知道他們加了compiler.h compiler.cc
檢測編譯器種類……在clang -v -xc++
檢測系統include path的道路上越走越遠。這些改動我很不喜歡,但客觀地說我不覺得會造成使用問題。
系統include path補全,如果用.ccls
的話可以
print '%clang\n%cpp -std=gnu++14\n-isystem/usr/include' > .ccls
(setq ccls-extra-init-params '(:clang (:extraArgs ["-isystem", "/usr/include"])))
cquery的问题我最近用起来主要的就是这几个:
对,这个功能一点用没有。写个launcher脚本都比它智能。
我刚写了个 $ccls/includes
用来抓所有的includes,然而 lsp--send-request
一直返回nil , lsp--send-notification
可以工作。不知道是不是什么地方有 content length 限制。
另:这个 } else if (params.command == "ccls._insertInclude") {
是打算实现一样的功能吗?
只是我當時批量替換的。這個功能應該交給clang-include-fixer
,或者未來集大成的clangd。
游标停在函数上eldoc总是不显示提示 , 现在开着ccls 还要开 irony-eldoc
另外我用 ccls-file-info 找到include path 添加到 company-c-header 写个函数 ,不知道怎么 在ccls startup 完成后自动执行,现在都是手动运行,在mode hook 里运行会出错
原来如此。最近ccls在clickhouse的表现突然变好了,大部分源文件都能很精确的跳转以及错误提示。然而头文件依然不行,跳转随缘,零错误提示。
因爲你的eldoc-documentation-function
不是lsp-ui-doc--eldoc
,或是lsp-mode的eldoc。否則不應該顯示不出來。我好奇irony會多什麼功能。
emacs-ccls只是個lsp-mode的adapter,lsp-mode初始化確實比較複雜的。我elisp水平也不高,沒深入鑽研。
lsp-ui 已经安装了符号跳转定义/引用 ,flycheck 都有提示,but 函数参数提示,大部分都没有,就是在 echo area 提示函数名参数,lsp的hover 悬停 提示,printf(format… ,arg1,arg2) 这样的 ,之前是有的并且是彩色的,但是不总有,后来就一直用的irony-eldoc 提示,而没有用 ccsl/cquery的这个功能
Diagnostics
M-x lsp-capabilities LSP workspace is initialized correctly
M-: xref-backend-functions is (lsp--xref-backend) for cross references
M-: completion-at-point-functions is (lsp-completion-at-point) for completion
多半是lsp-mode/lsp-ui的eldoc-documentation-function
被哪个插件覆盖掉了