VS Code自定义配色方案中如何修改悬停提示框的语法颜色?
嘿,这个问题我之前折腾VS Code主题的时候也碰到过!默认情况下,VS Code的悬停提示框并不会自动继承你自定义的语法高亮,得手动调整配置才行,我给你捋捋具体步骤:
第一步:取消hover文本的全局统一颜色
有些主题或者默认设置会给悬停提示框的所有文本设一个统一颜色(比如你提到的粉色),这会覆盖掉语法高亮的规则。你需要先把这个全局设置去掉:
打开用户设置(快捷键Ctrl+,,Windows/Linux;Cmd+,,Mac),点击右上角的{}图标打开settings.json,检查workbench.colorCustomizations里有没有editorHoverWidget.foreground这一行,如果有,要么删掉它,要么把值设为null,比如:"workbench.colorCustomizations": { // 注释或删除这一行,或者设为null // "editorHoverWidget.foreground": "#ff69b4", }第二步:让自定义语法规则作用于hover提示
接下来要确保你自定义的语法高亮规则能覆盖hover里的代码token。同样在settings.json里,找到editor.tokenColorCustomizations,把你之前定义的变量、函数、类等的规则加进去——这些规则会同时作用于编辑器和悬停提示框里的代码:"editor.tokenColorCustomizations": { "textMateRules": [ { "scope": "entity.name.function.python", "settings": { "foreground": "#00ff00" // 替换成你自定义的函数名颜色 } }, { "scope": "variable.other.python", "settings": { "foreground": "#ff00ff" // 替换成你自定义的变量颜色 } }, { "scope": "entity.name.class.python", "settings": { "foreground": "#00ffff" // 替换成你自定义的类名颜色 } } // 其他你需要的语法规则都可以加在这里 ] }如果你是自己独立开发主题文件(比如
my-custom-theme.json),那直接在主题的tokenColors数组里添加这些规则就行,同时确保主题的colors对象里没有设置editorHoverWidget.foreground。
做完这些设置后,重启一下VS Code(或者切换主题再切回来),悬停提示框里的语法颜色就会和你编辑器里的自定义配色保持一致啦!
备注:内容来源于stack exchange,提问作者Naduel

