Pigments在Atom中默认不工作,因其依赖语法作用域、文件类型和插件版本三者严格匹配;仅识别标准颜色字面量,需手动配置Supported Grammars并重启生效,且Atom版本不可超过1.58。

Pigments 在 Atom 里默认不工作,不是配置错了,而是它根本没被触发——语法作用域、文件类型、插件版本三者必须全部对齐,缺一不可。
为什么加了 #ff0000 也没色块?检查右下角状态栏和文件保存状态
常见错误现象:background: #ff0000; 写在 .css 文件里没渲染,但复制进 HTML 的 <style> 块里就立刻出现小色块。这说明 Pigments 根本没扫描当前文件。
- 右下角状态栏必须显示
source.css、source.scss或source.less;若显示text.html.basic却不在<style>块内,Pigments 直接跳过 - 文件未保存时,默认是
text.plain,Pigments 完全不处理 - 确认插件已启用:Settings → Packages → 搜索
pigments→ 点击右侧Enable按钮(灰色 = 未启用)
如何让 Pigments 扫描 Vue / JS 字符串里的颜色?手动填 Supported Grammars 并重启
默认只识别 .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 文件会卡顿 - 改完必须执行
Window: Reload或完全重启 Atom,配置才加载
性能卡顿或颜色延迟几秒才出现?关掉 scanWholeProject 和 showPalette
Pigments 默认递归扫描整个项目目录,遇到 node_modules 或 dist 就开始吃内存,尤其在大型项目里拖慢 Atom 启动和响应。
- 关闭
scanWholeProject,只处理当前打开的文件 - 在
ignoredNames中加入:node_modules、dist、build、.git - 删掉不用的
colorRegexps规则(比如去掉对hsl()的支持,如果项目不用) - 禁用
showPalette(右下角颜色面板),它是持续监听文件变化的主力性能拖累源 - 把
Marker Type改为dot:比outline或background渲染更快,视觉干扰也小
安装失败或启用后完全无反应?只能手动装 v0.40.2,且不能升过 Atom 1.58
apm 服务器早在 2022 年底就关闭了,apm install pigments 必然报错 getaddrinfo ENOTFOUND atom.io;而 Atom 1.59+ 彻底移除了 Pigments 依赖的老 API,插件直接崩溃。
- 唯一可行路径:手动安装最后兼容版
v0.40.2 - 步骤:下载 ZIP 解压 → 终端运行
apm link --dev /path/to/pigments-0.40.2→ 重启 Atom - Atom 版本必须 ≤ 1.58.0;若已升级到 1.59+,降级是唯一选择(官网仍提供旧版下载)
- 装完后检查
Settings → Packages → pigments是否显示 “Enabled”,且右下角状态栏有颜色块响应
最常被忽略的点是:改了 Supported Grammars 不重启 Atom,等于白配;而用了 source.js 却没设 Ignore Scopes,会导致整块编辑区响应变慢——这不是插件问题,是扫描范围失控的必然结果。

















