大伙来推荐一个主题,最好能基于C语言语法那种。

例如说,我有个选择性编译的代码,如下图 screenshot_1

现在_DEBUG_CODE是没有定义的,所以上面是灰色,下面则是有颜色。 emacs有这种主题吗。

1 个赞

我用ccls+doom-one 是可以的

我最近换成 clangd 了,也行。

clangd需要配置吗?之前用一直不成功

瞎搞出来的配置,你可以试试:

(setq lsp-semantic-tokens-enable t)

(setq lsp-semantic-token-faces
      '(("comment" . lsp-face-semhl-comment))
      lsp-semantic-token-modifier-faces nil)

(custom-set-faces
 '(lsp-face-semhl-comment ((t (:inherit shadow)))))

1 个赞

具体怎么玩,有教程吗,需要下载什么包,我配置了你的,没效果呀。

你这个怎么操作呀,有教程吗

感觉用起来ccls明显要比clangd卡很多。Emacs 29 native-compile。

emacs-lsp/emacs-ccls: Emacs client for ccls, a C/C++ language server (github.com)

这个我没有比较过,之前用clangd索引有问题,只能用ccls

我是以前用ccls,总有各种各样的问题,估计也是因为服务器是centos,gcc版本太老,scl编译的,后来换了clangd,语法着色问题感觉有点多,最后 GitHub - Fanael/rainbow-identifiers: Rainbow identifier highlighting for Emacs 暴力解决了。。。现在用着还行

这个实现是有困难的,是否有定义跟编译环境密切相关,甚至在编译的时候临时增加各种定义。

rainbow-identifiers 在大文件中性能有些问题,其他还好。不管是ccls还是clangd都要把编译器配置做好才能用,不一致的话高亮也可能不对。

ccls是经常莫名其妙就挂了,然后已经习惯ccls的彩虹配色了,clangd还是差一点,最后就先用这个了,感觉还行

好暴力,怎么感觉颜色像瀑布和彩虹一样五颜六色。能不能简化一下,例如函数名类似字符串,都用同一种颜色就好。

ccls稳定性确实不够好