Pigments在Atom中默认几乎不工作,因其依赖语法作用域、文件类型和配置项三者严格匹配,且不兼容Atom 1.59+;仅识别标准颜色字面量(如#ff0000、rgb(255,0,0)),不解析变量或拼接表达式,需手动配置Supported Grammars并重启生效。

Pigments 在 Atom 里默认几乎不工作,不是你装错了,而是它根本没被触发——语法作用域、文件类型、配置项三者缺一不可,且新版 Atom(1.59+)已彻底不兼容。
为什么 #ff0000 写在 CSS 里也没色块?
常见现象:.css 文件中 background: #ff0000; 左侧没出现小色块,但复制到 <style></style> 里就正常。这说明 Pigments 根本没扫描当前文件。
- 右下角状态栏必须显示
source.css或source.scss;若显示text.html.basic却不在<style>块内,就不会生效 - 文件未保存时默认是
text.plain,Pigments 完全跳过 - 只识别字面量:
rgb(255,0,0)、#abc、red可以;var(--primary)、"#" + color、$color变量引用一律忽略 - 确认插件已启用:Settings → Packages → 搜索
pigments→ 点击右侧Enable按钮(灰色=未启用)
如何让 Pigments 支持 Vue / JS 字符串里的颜色?
默认只扫 .css/.scss/.less 和 HTML 的 <style> 块,Vue 的 <template> 或 JS 里的 ctx.fillStyle = "#f00" 必须手动开权限。
- 打开 Settings → Packages →
pigments→ Settings - 在
Supported Grammars中添加对应语法作用域:source.css.vue(Vue style 块)、source.js(JS 全局)、text.html.basic(HTML 全局) - 若加了
source.js,务必同步填Ignore Scopes:如string.quoted.other(跳过注释里的假颜色),否则大 JS 文件会卡顿 - 改完必须重启 Atom 或执行
Window: Reload,配置才加载
性能卡顿或颜色延迟几秒才出现?
Pigments 默认递归扫描整个项目目录,遇到 node_modules 或 dist 就开始吃内存,尤其在大型项目里明显拖慢 Atom 启动和响应。
- 关闭
scanWholeProject,只处理当前打开的文件 - 在
ignoredNames中加入:node_modules、dist、build、.git - 删掉不用的
colorRegexps规则(比如去掉对hsl(...)的支持,如果项目不用) - 禁用
showPalette(右下角颜色面板),它是持续监听文件变化的主力性能拖累源 - 把
Marker Type改为dot:比outline或background渲染更快,视觉干扰也小
安装失败或启用后完全无反应?
apm 服务器早在 2022 年底就关闭了,apm install pigments 必然报错 getaddrinfo ENOTFOUND atom.io;而 Atom 1.59+ 彻底移除了 Pigments 依赖的老 API,插件直接崩溃。
- 唯一可行路径:手动安装最后兼容版
v0.40.2 - 去 GitHub 找
atom-pigments/pigments的 v0.40.2 发布页,下载 ZIP 解压 - 终端执行:
apm link --dev /path/to/pigments-0.40.2 - 必须降级 Atom 到
1.58.0(官网仍提供旧版下载),高于此版本必报Cannot read property 'onDidChange' of undefined - 装完检查:Settings → Packages → 搜索
pigments→ 确认状态是 Enabled 而非 Disabled
最易被忽略的一点:Pigments 不是“颜色编辑器”,它只渲染、不交互。想选色、调 alpha、吸管取色,必须配 color-picker 插件;两者共存时,记得关掉 Pigments 的 Mark Color Variables,避免 CSS 变量解析干扰取色盘显示。

















