Atom默认不为未保存或后缀不明的.md文件启用语法高亮,必须先保存为.md后缀、启用language-markdown插件、手动选择Markdown语法,并通过Editor: Log Cursor Scope验证scope是否为source.markdown或text.md。

Atom 默认不给 .md 文件开语法高亮,必须手动装插件并确认 grammar 生效,否则全是灰字、无代码块染色、表格/公式解析也异常。
为什么新写的 .md 文件还是 Plain text?
Atom 不会自动把未保存或后缀不明确的文件当 Markdown 处理。哪怕你刚新建一个文件、敲了 # Hello,只要没保存为 .md 后缀,右下角就显示 Plain text,language-markdown 插件根本不会加载。
- 新建文件后,先按
Ctrl+Shift+S(或Cmd+Shift+S)保存,扩展名必须是.md或.markdown - 保存后右下角应显示
Markdown;若仍为Plain text,点它 →Grammar Selector: Show→ 手动选Markdown - 装了插件但没启用?进
Settings → Packages搜language-markdown,确保状态是Enabled
language-markdown 和 markdown-preview-enhanced 有什么区别?
前者管编辑器里怎么“看” Markdown(语法高亮、代码块语言识别、表格对齐),后者管“预览成什么样子”(HTML 渲染、LaTeX 公式、图表支持)。缺前者,写的时候就是白纸黑字;缺后者,Ctrl+Shift+M 预览可能漏样式或崩代码块。
-
language-markdown是语法高亮刚需,必须装且启用 -
markdown-preview-enhanced是增强预览可选,但推荐装——它修复了原生预览对嵌套代码块、YAML frontmatter 的解析缺陷 - 别装
language-gfm:那是 GitHub Flavored Markdown 的旧版语法包,和language-markdown冲突,禁用它
高亮失效时怎么快速定位问题?
全灰、代码块没颜色、```js 里的 JS 不高亮?不是主题问题,是 grammar 作用域没接上。最准的验证方式是查光标当前 scope:
- 把光标放在一段标题、列表或代码块内,按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入并执行
Editor: Log Cursor Scope,看 DevTools 输出的第一行,例如:source.gfm或text.md或source.markdown - 如果只看到
text.plain,说明language-markdown没接管;如果看到source.gfm,说明你装了冲突插件(如language-gfm),要禁用 - 代码块内 JS 不高亮?检查是否装了
language-javascript——language-markdown只负责外层结构,嵌套语法靠对应language-*包
自定义高亮颜色该改哪?
别碰语法主题源码,直接改用户样式表 ~/.atom/styles.less。所有 Markdown 相关作用域都以 .syntax--text.syntax--md 或 .syntax--source.syntax--gfm 开头,CSS 必须写全链才生效。
- 打开
Settings → Command Palette→ 输入Open Your Stylesheet回车 - 加这段(适配深色主题,提高可读性):
.syntax--text.syntax--md .syntax--markup.syntax--heading { color: #4fc3f7 !important; } .syntax--text.syntax--md .syntax--markup.syntax--code-block { background-color: #282c34 !important; } .syntax--text.syntax--md .syntax--markup.syntax--raw { color: #a5d6a7 !important; } - 改完保存即生效,不用重启;但
!important必须加,否则被主题变量覆盖
真正卡住人的从来不是“装没装插件”,而是保存前没后缀、装了没启用、或者 scope 名被旧插件劫持。每次高亮异常,先 Log Cursor Scope,再看右下角语法名,比重装十遍都快。


















