必须安装language-sql插件,否则右下角始终显示Plain text,导致.sql文件白底黑字、无高亮、无格式化与补全;Atom仅依据右下角grammar识别语言,不依赖文件后缀,新建未保存文件默认为text.plain,需手动设置或配置config.cson的fileTypes映射。

必须装 language-sql,否则右下角永远显示 Plain text,SQL 高亮根本不会启动。
为什么点开 .sql 文件还是白底黑字
Atom 不靠文件后缀自动识别语言,只看右下角状态栏显示的 grammar 名。哪怕你打开的是 query.sql,只要状态栏写的是 Plain text 或 Text,所有 SQL 相关功能(高亮、格式化、补全)全部失效。
- 先按
Ctrl+Shift+P输入Editor: Log Cursor Scope,看控制台输出的最末一级 scope:要是text.plain,就确认没识别成功 - 检查
Packages → language-sql是否为 Enabled(不是灰色禁用状态) - 如果列表里压根没有
SQL这个选项,说明插件没装:终端运行apm install language-sql - 装完重启 Atom,或按
Ctrl+Shift+F5重载窗口
如何让新创建的 SQL 文件默认就是 SQL 语法
新建未保存文件(untitled)默认是 text.plain,这是 Atom 的设计,不是 bug。不能靠猜,得手动映射。
- 打开
~/.atom/config.cson(快捷方式:Ctrl+Shift+P→Open Your Config) - 在
core:区块下添加:fileTypes: '.sql': 'source.sql'
- 保存后,下次新建文件 → 保存为
xxx.sql→ Atom 会自动切换右下角 grammar 为SQL - 注意:
fileTypes映射只对已保存且带后缀的文件生效;untitled 文件仍需手动点状态栏选一次SQL
高亮颜色太淡或关键字没变色怎么办
语法高亮由两层决定:language-sql 提供 scope(如 keyword.control.sql、support.function.builtin.sql),syntax theme 决定这些 scope 对应的颜色。两者缺一不可。
- 进
Settings → Themes,确认Syntax Theme已选中(比如one-dark-syntax),仅装包不启用无效 - 如果
SELECT、FROM等关键字仍是灰色,大概率是当前 syntax theme 没定义.syntax--keyword.syntax--control.sql这类作用域规则 - 临时验证:在
~/.atom/styles.less里加一行:.syntax--keyword.syntax--control.sql { color: #ff6b6b !important; } - 别用泛化选择器如
.syntax--keyword,它会影响所有语言;必须写完整 scope 链,避免误伤
真正容易被忽略的是:language-sql 只负责基础语法切分,不处理方言特有结构(比如 PostgreSQL 的 ILIKE 或 MySQL 的反引号字段名)。如果需要精准高亮这些,得配合 sql-formatter 插件并把其 Language 选项设为对应方言——但那是格式化的逻辑,和高亮本身无关。

















