Atom语法高亮需语言包(提供scope)与语法主题(决定颜色)协同工作;确认当前文件scope需用Editor: Log Cursor Scope命令,如source.python;.vue/.tsx等文件不着色主因是未安装对应language插件或scope映射错误;配置需在config.cson中设置fileTypes和customFileTypes,并重启Atom生效;微调样式应编辑styles.less并加!important。

Atom 编辑器的语法高亮不是“一键开启”的功能,而是由语言包(提供 scope)和语法主题(决定颜色)协同工作的结果。没装对插件、scope 映射错、主题没选对——三者任一出问题,高亮就失效。
怎么确认当前文件用的是哪个语法 scope?
这是所有配置的前提。打开一个已高亮的文件(比如 .py),按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Editor: Log Cursor Scope 回车。看输出的第一行,例如:source.python 或 source.vue——这个就是你要在 config.cson 里写的 scope 名。
-
.vue文件必须映射到source.vue(来自language-vue),不是text.html.vue -
.tsx要对应source.tsx(由language-typescript-react提供),不是source.typescript - 空字符串
''只影响新建无扩展名的标签页,已有Untitled不会刷新
为什么 .vue / .tsx 文件不着色?
90% 是因为没装对 language 插件,或 scope 映射用了错误的名称。
-
.vue:必须装language-vue+atom-ide-vue(后者支持<script setup>和 TS) -
.tsx:装language-typescript-react,不是官方language-typescript -
.svelte:装language-svelte,并临时禁用language-html排查是否被劫持 - 装完插件后必须重启 Atom —— 部分插件注册 scope 需要重启才生效
再编辑 config.cson,在 core: 下加:
fileTypes: '.vue': 'source.vue' '.tsx': 'source.tsx' '.svelte': 'source.svelte'
怎么让 <script lang="ts"> 或 <style lang="scss"> 高亮?
language-vue 默认只把 <script> 当作 JS 处理,不自动委托给 TS/JSX/SCSS 解析器。
- TS 支持:在
config.cson的core:下加customFileTypes:块,写成:"source.ts": ["vue"](注意是source.ts,不是source.typescript) - SCSS 支持:装
language-sass,然后加:"source.css.scss": ["vue"](不是source.sass) - JSX 支持:同理加
"source.jsx": ["vue"]
想改注释颜色或微调某类 token?别动主题源码
直接编辑 styles.less 最安全有效。路径是:Atom → Config → Open Config Folder,然后编辑 styles.less。
- 查 scope:用
Editor: Log Cursor Scope确认当前光标位置的完整 scope 链,比如.syntax--comment或.syntax--string .syntax--quoted - 写 CSS:务必加
!important,否则主题样式优先级更高,例如:.syntax--comment { color: #4caf50 !important; } - 保存即生效,无需重启;但写错(如
color: transparent)会导致文字消失

















