确认当前文件语法scope需执行Editor: Log Cursor Scope命令,输出首行如source.vue即为正确scope名;.vue文件必须映射到source.vue而非text.html.vue,且须安装language-vue和atom-ide-vue插件并重启Atom。

Atom 语法高亮不生效,90% 是因为没装对 language-* 插件,或 fileTypes 映射用了错误的 scope 名——不是配错了主题,也不是 Atom 坏了。
怎么确认当前文件用的是哪个语法 scope?
这是所有配置的前提。打开一个已正确高亮的文件(比如 .py),按 Cmd+Alt+Shift+P(macOS)或 Ctrl+Shift+P(Windows/Linux),输入 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),但只影响新标签页,已有 untitled 标签不会刷新
如何让 .vue / .tsx / .svelte 等文件自动高亮?
不能只靠 fileTypes 映射。必须先确保对应 language 插件已安装且启用:
-
.vue:装language-vue+atom-ide-vue(后者增强<script setup>和 TS 支持) -
.tsx:装language-typescript-react(不是官方language-typescript) -
.svelte:装language-svelte,并确认它没被language-html降级劫持(可在 Settings → Packages 中临时禁用language-html测试) - 装完插件后,务必重启 Atom——部分插件注册 scope 需要重启才生效
再编辑 config.cson,在 core: 下加:
fileTypes: '.vue': 'source.vue' '.tsx': 'source.tsx' '.svelte': 'source.svelte'
为什么换了 Syntax Theme,代码颜色还是没变?
因为 Syntax Theme 和 UI Theme 完全独立。只改 UI Theme(比如 Atom Dark)不会动一行代码颜色。
必须手动进 Settings → Themes,在右侧 Syntax Theme 下拉框中选择目标主题,例如 atom-material-syntax 或 one-dark-syntax。
注意:
- 主题需先用
apm install atom-material-syntax安装,否则下拉框里不会出现 - 安装后不会自动激活,必须手动选中
- 旧文件可能缓存样式,可右键标签页 →
Reopen File刷新,或重启 Atom
想微调某类语法的颜色(比如 Markdown 标题或 CSS 选择器)?
靠 styles.less,不是改主题包源码。打开 Atom → Open Your Stylesheet,添加带作用域的选择器:
.syntax--source.syntax--gfm .syntax--markup.syntax--heading {
color: #2a5adf;
font-weight: bold;
}关键点:
- 选择器必须以
.syntax--开头,后面拼接 scope 名的点号转双横线(source.gfm→.syntax--source.syntax--gfm) - 层级要写全,
.syntax--markup.syntax--heading比只写.syntax--heading更安全,避免误匹配 - 修改后保存即生效,不用重启
scope 名不准、选择器漏层级、或插件未启用——这三者任一出问题,样式就白写。

















