如何在VS Code中自定义Python字典键颜色(不更换主题)?
如何在VS Code Dark Modern主题中单独设置Python字典键的颜色
要实现只给Python字典键单独上色(和字符串值区分开),不用换主题,你可以利用VS Code的textMateRules针对字典键的专属语法作用域配置,具体步骤如下:
核心配置代码
打开VS Code的settings.json(快捷键Ctrl+, 然后点击右上角的{}图标),添加以下配置:
"editor.tokenColorCustomizations": { "[Dark Modern]": { "textMateRules": [ // 匹配双引号的字典键 { "scope": "string.quoted.double.python meta.mapping.key.python", "settings": { "foreground": "#FFD700" // 金色,可替换成你想要的十六进制色码 } }, // 匹配单引号的字典键 { "scope": "string.quoted.single.python meta.mapping.key.python", "settings": { "foreground": "#FFD700" } } ] } }
为什么这个配置有效?
- VS Code的语法高亮基于作用域嵌套:
meta.mapping.key.python是Python字典键的专属作用域,它会嵌套在对应的字符串作用域(比如string.quoted.double.python)之下 - 该配置只会匹配同时属于「字符串」和「字典键」的文本,不会干扰普通字符串或字典值里的字符串
[Dark Modern]前缀确保配置只对该主题生效,不影响其他主题
效果验证
以你的示例代码:
python_dictionary = { "Foo": "hello world", "Bar": "Baz" }
配置后,"Foo"和"Bar"会变成你设置的金色,而"hello world"和"Baz"会保持Dark Modern主题默认的字符串颜色,和JSON文件的键值颜色区分效果一致。
注意事项
- 确保安装的是官方Python插件(Microsoft Python),语法作用域的定义依赖这款插件的最新版本
- 若需调整颜色,直接替换
foreground后的十六进制色码即可,比如用#4EC9B0(青绿色)或其他你喜欢的颜色
内容的提问来源于stack exchange,提问作者enriqueMota
相关产品推荐
相关产品推荐

