<p>ColorHighlighter仅高亮代码中的颜色值(如#ff6b6b、rgb()等),不支持TODO/FIXME等文本标记;标关键词需用Sublime原生todo配置或HighlightWords插件,且效果取决于配色方案对color_highlighter或region.* scope的定义。</p>

ColorHighlighter 是唯一能直接把 #ff6b6b 这类颜色值渲染成对应背景色的插件,但它不是“给任意字符加标记”的通用高亮工具——想标出 TODO、FIXME 或自定义关键词,得用别的方案。
ColorHighlighter 只认颜色,不认文字标记
它专为 CSS/SCSS/HTML/JS 中的颜色字面量设计,识别范围严格限定在:#RGB、#RRGGBB、rgb()、hsl()、red 等标准颜色表示法。写个 /* TODO */ 或 console.log("DEBUG"),它完全无感。
- 右下角语法必须是
CSS、HTML、JavaScript等支持颜色语义的类型;显示Plain Text或JSON时,插件压根不启动 - JS 字符串里的颜色(如
el.style.color = "#3498db")默认不处理,需手动开启"color_highlight_in_strings": true - 高亮样式由
ha_style控制,但最终是否可见,取决于当前.sublime-color-scheme是否定义了color_highlighter这个 scope 的 background
要标 TODO/FIXME,用 Sublime 原生 todo 配置
不用装插件,Sublime 自带基于作用域的行内标记能力,靠 todo 规则实现。
- 打开
Preferences → Settings,在右侧用户设置中添加:
{
"todo": {
"case_sensitive": false,
"patterns": [
{
"name": "todo",
"pattern": "(?i)\b(todo|fixme|hack|xxx)\b"
}
]
}
}- 保存后,所有匹配的单词会自动加上下划线(颜色由当前主题的
comment或markup.rawscope 决定) - 若想改颜色,别动这里——去
Preferences → Customize Color Scheme,在rules里加一条:{"scope": "todo", "foreground": "#FF8C00"} - 注意:这个功能只对注释行(
// TODO、/* FIXME */)和字符串内生效,代码关键字本身不会被标(比如const TODO = true不触发)
需要更灵活的关键词高亮?用 HighlightWords 插件
它支持实时标出任意单词或正则,比原生 todo 更自由,但性能开销略高。
- 安装:按
Ctrl+Shift+P→Package Control: Install Package→ 搜HighlightWords - 启用后,默认标出当前光标词;想固定标
DEBUG、WIP,进Preferences → Package Settings → HighlightWords → Settings,加:
{
"words": ["DEBUG", "WIP", "HACK"],
"ignore_case": true
}- 每个词会以独立颜色渲染,颜色顺序由主题的
region.redish、region.greenish等 scope 控制 - 大文件中慎用过多关键词,可能拖慢滚动;可配合
"highlight_on_save": false关掉保存时全量重扫
真正容易被忽略的是:ColorHighlighter 的色块是否可见,90% 时候不取决于插件设置,而取决于你当前配色方案有没有为 color_highlighter 这个 scope 定义 background;同理,HighlightWords 的颜色来自 region.*,不是插件自己画的——改错地方,永远看不到效果。

















