vscode 关键字颜色通过 editor.tokencolorcustomizations 的 keywords 项统一控制,支持全局或语言专属配置(如 [python]),需注意作用域优先级、主题兼容性及配色可读性。

直接改 editor.tokenColorCustomizations 里的 keywords
VSCode 不靠“关键字高亮开关”,而是把 if、for、return 这类词识别为 keyword 语义类型,统一用 keywords 配置项控制颜色。你改它,所有语言的关键字(只要语法定义规范)都会同步变色。
实操很简单:打开 settings.json,加这一段就行:
"editor.tokenColorCustomizations": {
"keywords": "#d73a49"
}
注意:keywords 是复数形式,别写成 keyword;值必须是字符串,十六进制、rgb() 或命名色都行,但别漏引号。
不同语言的关键字想区别对待?用语言专属配置
默认全局改 keywords 会影响所有语言——但有时你只想让 Python 的 def 更醒目,又不想动 JavaScript 的 function。这时候就得用语言作用域。
比如只给 Python 单独设关键字颜色:
"[python]": {
"editor.tokenColorCustomizations": {
"keywords": "#e36209"
}
}
常见语言标识符有 [javascript]、[typescript]、[go]、[rust],大小写敏感,中括号不能少。如果配了语言专属配置,它会覆盖全局的 keywords,优先级更高。
为什么改了没反应?检查这三个地方
- 确认你改的是用户设置(
settings.json在用户目录下),不是工作区设置——后者只在当前文件夹生效,容易误以为“不生效” - 有些主题(尤其第三方)会重写整个 token 规则,绕过
editor.tokenColorCustomizations。试试先切回内置主题Dark+或Light+测试是否生效 -
keywords只管语法定义的关键字,像console.log这种调用不算——那是functions或methods的范畴,别混在一起调
颜色选不好?避开两个典型陷阱
太亮的红色(如 #ff0000)或荧光绿(#00ff00)看着醒目的同时,长时间看容易视觉疲劳;太暗的灰(如 #333)在深色主题里又容易和普通文本分不清。
建议做法:
- 深色主题下,用饱和度适中、明度略高的暖色,比如
#d73a49(GitHub 关键字红)、#6f42c1(紫色系) - 浅色主题下,避免纯黑文字,关键字可用
#24292e或稍带蓝调的#0366d6,比默认黑更柔和 - 别只调关键字——顺手把
functions、strings、comments也设一下,否则颜色孤立反而更难读
真正麻烦的不是怎么写这行 JSON,而是改完之后盯着代码看十分钟,确认它没让你眼睛发胀、也没让逻辑结构变得更模糊。配色这事,得自己眼睛说了算。










