ColorHighlighter 正常工作需同时满足插件正确安装、语法模式匹配(如CSS/HTML等)、配置项启用;安装须通过Package Control签名安装并重启,名称为ColorHighlighter(结尾带r),且用户设置中禁用"enable_on_save"以保持实时高亮。

装对插件名、配对语法模式、开对配置项,三者缺一不可,否则颜色块根本不会出现——不是插件坏了,是它压根没启动。
ColorHighlighter 安装失败?先确认 Package Control 真就绪
搜不到 Install Package 命令,90% 是 Package Control 没装成功,不是插件问题。按 Ctrl+` 打开控制台,粘贴运行:
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 等命令。
- 别搜
ColorHighlight或Color Highlight—— 正确名称是ColorHighlighter(结尾带r,无空格、无下划线) - 安装后必须重启 Sublime Text,否则插件不加载
- 手动解压 zip 到
Packages/目录会失败:ST4 沙箱只认Package Control签名安装的版本
装完没反应?检查语法识别和颜色格式支持范围
插件默认只在特定语法上下文中激活,不是“全局扫描”。右下角状态栏显示的语法决定一切:
- 必须是
CSS、SCSS、HTML、JavaScript、Vue Component等;若显示Plain Text、JSON或Python,插件完全不运行 -
.vue文件中写内联style,得把光标停在<style>标签内,再右键 →Set Syntax → CSS - 默认只识别:
#fff、#ff0000、rgb(255,0,0)、hsl(0,100%,50%)、red;不识别var(--primary)、color(display-p3 1 0 0)、rgb(100% 0% 0%) - 用户设置里不能有
"enable_on_save": true—— 默认是false(实时生效),覆盖它就等于关掉实时预览
JS 字符串里的颜色不亮?得手动开开关 + 强制刷新
el.style.color = "#3498db" 或模板字符串中 `background: ${bg}` 默认不触发高亮,因为插件默认跳过字符串内容——性能和误触发风险太高。
- 打开
Preferences → Package Settings → ColorHighlighter → Settings - User - 写入:
{"color_highlight_in_strings": true}(注意 JSON 格式:双引号、逗号、花括号一个都不能少) - 保存后,按
Ctrl+Shift+P输入Color Highlighter: Highlight手动执行一次,强制刷新缓存(不用重启) - 若项目含大量非样式字符串(如日志模板、URL 拼接),可加
"supported_color_names": false关掉预定义色名匹配,微调响应速度
色块“看不见”或太淡?不是主题问题,是作用域没配或参数冲突
ColorHighlighter 只负责标记哪些文本是颜色,真正渲染靠的是当前主题对 color_highlighter 作用域的定义。很多主流主题(如 Monokai、Default)根本没配这个作用域。
- 别改主题文件,先查插件用户配置里有没有
"ha_style": "filled"("outlined"或"none"都不显示背景色) - 如果主题确实没定义
color_highlighter作用域,即使开了filled也只会显示极淡底色或无效果 - 想快速验证是否主题导致:换用
Adaptive或Brogrammer这类明确支持该作用域的主题试试 -
"enable_gutter": true是边栏图标开关,和行内色块无关;别把它和ha_style混淆
最常被忽略的一点:插件不会自动监听语法切换后的上下文变更,比如从 Plain Text 改成 CSS 后,必须手动执行一次 Color Highlighter: Highlight 才能触发首次渲染——很多人以为改完语法就该立刻亮,其实要推一把。

















