ColorHighlighter 安装失败主因是 Package Control 未正确安装,需运行官方命令并确认状态栏提示;高亮不显示则多因语法识别错误、颜色格式不符、主题未定义 color_highlighter 作用域或 JS 字符串高亮未启用。

ColorHighlighter 装不上?先确认 Package Control 是否真就绪
绝大多数“安装失败”其实根本没走到插件这步——Package Control 本身就没装好或加载异常。Sublime 不会主动报错,只会让你在 Ctrl+Shift+P 里搜不到 Install Package。
- 按
Ctrl+`打开控制台,粘贴运行官方安装命令(Sublime Text 4 推荐):import urllib.request,os,hashlib; exec(urllib.request.urlopen('https://packagecontrol.io/installation.py').read().decode('utf-8')) - 等状态栏出现
Package Control: Installed 1 package提示才算成功;若卡在 “Loading package list…”,大概率是网络问题,需手动补channel_v3.json - 验证方式:再按
Ctrl+Shift+P,输入Package Control,能看到下拉列表中有Package Control: Install Package等命令
安装 ColorHighlighter 后没反应?检查三个硬性前提
插件装完默认启用,但高亮不出现≠插件坏了,而是它压根没触发。必须同时满足:
-
文件语法识别正确:右下角状态栏必须显示
CSS、SCSS、HTML或source.css等,不能是Plain Text;可手动点击切换(View → Syntax → CSS) -
颜色格式标准且在支持范围内:只识别
#RGB、#RRGGBB、rgb()、hsl()、red等字面量,不处理var(--color)、$primary或 JS 字符串拼接 -
配置未禁用实时高亮:打开
Preferences → Package Settings → ColorHighlighter → Settings,确认用户设置中没有"enable_on_save": true这类覆盖项(默认是false,即实时生效)
颜色块太小/位置偏移/背景透明?改的是作用域样式,不是插件配置
ColorHighlighter 本身只负责“标记哪些文本是颜色”,真正渲染成色块靠的是 Sublime 主题对 brackethighlighter.* 类似作用域的定义——但它用的是自己的作用域名:color_highlighter。很多主题(如 Monokai、Default)根本没配这个作用域,结果就是“有高亮逻辑,但看不见色块”。
- 最简验证法:临时换主题,比如选
Adaptive或Breakers,看色块是否立刻出现 - 若必须用当前主题,需手动编辑主题文件(
Preferences → Color Scheme…找到当前方案,用文本编辑器打开),在rules数组里加一条:{"scope": "color_highlighter", "background": "#ff0000", "foreground": "#ffffff"} - 不想动主题?可用插件用户配置强制填充:
"ha_style": "filled"(而非outlined),但前提是主题至少定义了该作用域的 background
想让 JS 字符串里的 "#ff6b6b" 也高亮?得开开关,但有代价
默认情况下,ColorHighlighter 只在样式上下文(如 CSS 规则体、style 属性)里工作,JS 文件中的字符串属于“普通文本”,不会扫描。开启后确实能高亮,但会轻微拖慢大文件响应速度,尤其含大量内联样式的 Vue/JSX 文件。
- 打开
Preferences → Package Settings → ColorHighlighter → Settings - User - 添加配置:
"color_highlight_in_strings": true - 注意:此选项对
rgb(255, 107, 107)这类函数写法无效,只匹配字符串字面量;且可能误触非颜色用途的十六进制字符串(如哈希值)
真正容易被忽略的点是:Sublime 的语法识别和作用域体系是两层独立机制。插件可以找到颜色,但主题不画,你就永远看不见那个小方块——这不是 bug,是 Sublime 的设计逻辑。










