VS Code中通过textMateRules无法修改Java类名颜色的问题求助
解决VSCode中Java类名统一黄色着色的问题
针对你遇到的Java类名(构造器、System这类引用类名)无法统一着色的问题,需要覆盖多个TextMate作用域(scope)来实现全场景的类名黄色显示,以下是正确的配置方案:
核心问题分析
- 构造器调用(如
A())的类名被识别为函数,对应scope是entity.name.function.constructor.java - 引用类名(如
System.out中的System)被识别为类类型变量,对应scope是variable.other.class.java - 类定义时的类名对应scope是
entity.name.type.class.java
之前仅使用storage.type或单一entity.name.type.class.java无法覆盖所有场景,所以导致着色不一致。
完整配置
将以下配置替换到你的settings.json的editor.tokenColorCustomizations中:
"editor.tokenColorCustomizations": { "textMateRules": [ { "scope": [ "entity.name.type.class.java", "entity.name.function.constructor.java", "variable.other.class.java" ], "settings": { "foreground": "#ffcc66" } }, { "scope": "variable", "settings": { "foreground": "#FFFFFF" } } ] }
配置说明
entity.name.type.class.java:匹配类定义时的类名(如class A { ... }中的A)entity.name.function.constructor.java:匹配构造器调用时的类名(如new A()中的A)variable.other.class.java:匹配引用的类名(如System.out中的System、List<String>中的List)
配置后,所有场景下的Java类名都会统一显示为#ffcc66(黄色)。
内容的提问来源于stack exchange,提问作者mack38
相关产品推荐
相关产品推荐

