colorhelper是唯一稳定支持现代css颜色语法(如oklch()、display-p3、hwb())的插件,基于作用域识别,精准支持#fff、rgb()、hsl()、hwb()、oklch()等格式,不支持var(--primary)或color-mix();colorhighlighter和guttercolor仅适配基础颜色且易失效。

Sublime Text 里颜色代码不显示实际色块,不是你配置错了,大概率是插件选错或没触发上下文识别——ColorHelper 是目前唯一能稳定支持现代 CSS 颜色语法(如 oklch()、color(display-p3)、hwb())的方案;ColorHighlighter 和 GutterColor 只适合基础需求,且极易因语法识别失败而“失灵”。
ColorHelper 能识别哪些颜色格式?
它不靠正则硬匹配,而是结合 Sublime 的作用域(scope)系统判断“这里是不是样式值”,所以识别更准、误触更少:
-
#fff、#3b82f6、rgb(59, 130, 246)、rgba(0, 0, 0, 0.8) -
hsl(210, 75%, 50%)、hsla(210, 75%, 50%, 0.9)、hwb(210 20% 30%) -
oklch(65% 0.21 250)、color(display-p3 0.9 0.2 0.3)、rebeccapurple - 不支持
var(--primary)、color-mix()、transparent(设计如此,非 bug)
默认只在 CSS、SCSS、HTML、JavaScript(含 JSX/TSX)、Vue Component 等语法下激活,光标必须停在颜色字面量上才会出预览小色块。
ColorHighlighter 为什么经常“不生效”?
它依赖手动开启每种格式支持,且对文件语法和位置极其敏感:
- 默认只开
"hex",rgb()、hsl()、names全要自己加进"supported_color_types"数组 - JS 文件中写
const color = '#ff0000'不会高亮,除非设"color_highlight_in_strings": true -
.vue文件里<style></style>块失效?得把语法设成Vue Component,不是Vue或HTML - 内联
style="background: #000"在 HTML 中不亮?确认右下角是HTML,且配置里"enable_on_languages"包含"html" - 装完不重启,命令面板搜不到
Color Highlighter: Highlight—— 插件根本没注册
GutterColor 适合什么场景?
它只在行号区(gutter)打一个极小色点,轻量、不干扰编辑,但能力最弱:
- 支持
#fff、rgb()、rgba()、hsl()、hsla()和部分命名色 - 完全不识别
oklch()、display-p3、hwb()、lab()等新标准 - 不处理字符串内颜色(如
console.log('#3b82f6')),也不管变量赋值($primary: #3b82f6) - 优势是安装完立即生效、无需重启,适合快速扫一眼主色分布
当前行高亮和颜色预览冲突吗?
不冲突,但容易互相掩盖:
-
"highlight_line": true是 Sublime 内置开关,控制整行背景色,由主题里的lineHighlight规则决定颜色 -
ColorHelper预览块在右侧边缘,ColorHighlighter色块在行内,GutterColor在左侧 gutter —— 三者位置不同 - 如果开了
ColorHighlighter的"ha_style": "filled",又用了浅色主题,色块可能被highlight_line的背景盖住,建议调低lineHighlight的透明度(如hsla(0, 0%, 100%, 0.1)) - 真正容易被忽略的是:所有插件都依赖右下角显示的语法类型,哪怕只差一个字母(比如
CSSvsCss),作用域就断了











