ColorHelper 是 Sublime Text 4 下唯一稳定支持现代颜色语法的预览插件,基于作用域语义识别,支持 OKLCH、display-p3 等新标准,上下文感知、性能轻量、调色面板多模型,需正确语法和光标位置触发。

ColorHelper 是目前 Sublime Text 4 下唯一稳定、全面支持现代颜色语法的预览插件,ColorPicker 已彻底失效,别再浪费时间装它。
为什么 ColorHelper 比 ColorHighlighter / GutterColor 更可靠
ColorHelper 不依赖行内背景或 gutter 色块渲染,而是基于 Sublime 的作用域(scope)系统做语义识别,对 oklch(65% 0.21 250)、color(display-p3 0.9 0.2 0.3)、hwb(120 20% 30%) 等新标准支持更好;而 ColorHighlighter 默认只认 #rgb/#rrggbb/rgb()/hsl(),且需手动开启每种格式;GutterColor 则完全不支持函数式颜色和带 alpha 的简写(如 #RGBA)。
更重要的是:ColorHelper 的预览是“上下文感知”的——它能区分 console.log("#ff0000") 和 background: #ff0000;,默认只在样式上下文中激活,避免误标;而 ColorHighlighter 开启 color_highlight_in_strings 后,会在所有字符串里扫颜色,容易误触发且拖慢响应。
- ColorHelper 默认启用
scan_strings为false,性能更轻量 - 它自动适配当前语法高亮作用域,不需要你手动改
enable_on_languages - 调色面板支持 HSL/RGB/OKLCH 多模型滑块,不是简单色轮
安装后没反应?先检查这三件事
不是插件坏了,是 Sublime 没把它当“颜色上下文”处理。
- 右下角状态栏看当前语法:必须是
CSS、SCSS、HTML、JavaScript或Vue Component;若显示Plain text,右键 →Set Syntax → CSS立刻验证 - 确认光标停在合法颜色值上:比如
#3b82f6、hsl(210, 75%, 50%)、rebeccapurple——var(--primary)或color-mix(in srgb, red, blue)不会被识别,这是设计使然,不是 bug - 按住
Ctrl(Windows/Linux)或Cmd(macOS)再悬停,可临时禁用预览;松开即恢复——这个快捷键常被忽略,误以为“预览消失了”
怎么让 JS 字符串里的颜色也预览(谨慎开启)
ColorHelper 原生不扫描字符串内容,因为大多数 JS 场景下颜色是动态拼接或变量引用,静态识别意义不大。但如果你真需要(比如写 CSS-in-JS 库 demo),可以显式启用:
- 打开
Preferences → Package Settings → ColorHelper → Settings - User - 添加:
"scan_strings": true - 保存后,像
el.style.color = "hsl(0, 100%, 50%)";或模板字符串中`background: ${bg};`才可能触发(前提是bg是字面量)
注意:scan_strings 会轻微增加大文件解析延迟,且无法识别变量展开,比如 const c = "#f00"; el.style.color = c; 依然不会预览。
调色面板呼不出?快捷键和触发位置有讲究
ColorHelper 的调色面板不是全局热键,它依赖光标位置:
- 把光标放在已有颜色值上(如
#3b82f6中任意位置),按Alt+Shift+C(Windows/Linux)或Opt+Shift+C(macOS)→ 弹出编辑面板 - 光标放在空行或注释里,按同样快捷键 → 弹出空白调色器,用于插入新颜色
- 点击右侧预览小色块 → 弹出菜单,含
Convert to...、Copy color、Open palette等操作
如果快捷键无效,先确认是否和其他插件冲突(比如某些输入法或终端模拟器劫持了 Alt+Shift+C);可在 Preferences → Key Bindings 中搜索 color_helper 查看绑定是否被覆盖。
最易被忽略的一点:ColorHelper 的预览效果受当前配色方案影响。如果你用的是自定义主题,且其中 lineHighlight 规则缺失或透明度设为 0,那么即使插件正常运行,你也看不到任何色块——这不是插件问题,是主题没提供渲染基础。

















