在code上使用clangd时代码高亮会出问题(如图),有的时候简直逼死强迫症。
很明显,构造和析构函数颜色和类名弄混了,也是因为这个,若想把这两个函数的颜色修改回金色,只能把类名一起改掉,个人认为不如把这两个函数也改成绿色。
我们只用更改析构函数的着色即可,也就是 "~" 的着色(因为构造构析函数和类名相同的部分都被渲染成了类名的颜色),在settings.json中写入这些即可。
"editor.tokenColorCustomizations": {
"textMateRules": [
{
// 析构函数
"scope": "entity.name.function.definition.special.member.destructor.cpp",
"settings": {
// 填入类名的颜色,后面会讲怎么获取
"foreground": "#4EC9B0",
}
}
]
},
如果你使用了不同主体,同样也有很方便的方法修改。
Ctrl+Shift+P搜索 Developer: Inspect Editor Tokens and Scopes
启用后可以显示光标后面的关键字的标记信息,其中就包括了颜色,复制类名的前景色即可。
这时候聪明的你肯定想到了单独修改构造和析构函数的颜色,但遗憾的是,我可以明确地告诉你没有用(不排出以后被修复的可能,虽然这个问题已经好几年了),构造函数根本覆盖不了,而析构函数只能覆盖 "~" 。
以上是某个大冤种试了无数llvm和插件版本总结的经验,希望对那些强迫症重症晚期患者有用qwq