sublime text 需安装 package control 和 sqltools 插件才能支持 sql 语法高亮与格式化;需手动设置 .sql 文件关联 sql 语法、配置 sqlparse 格式化器及快捷键 ctrl+alt+f。

Sublime Text 默认不支持 SQL 语法高亮和格式化,必须手动安装插件并配置,否则 SELECT、FROM 等关键字不会变色,缩进混乱,也不支持快捷键格式化。
安装 Package Control 和 SQLTools 插件
没有 Package Control 就没法装任何插件,SQLTools 是目前 Sublime 上最稳定支持高亮 + 格式化 + 表名补全的方案(替代已停更的 SQLFormat)。
- 如果没装 Package Control:打开 Sublime →
Ctrl+`(反引号)调出控制台,粘贴官方安装脚本(注意 Python 版本匹配,Sublime Text 4 用 Python 3.8+ 脚本) - 重启 Sublime 后按
Ctrl+Shift+P→ 输入Install Package→ 回车 → 搜索SQLTools并安装 - 安装后需重启一次,否则
SQLTools的命令不会出现在命令面板里
设置 SQL 文件自动识别为 SQL 语法
新建的 .sql 文件有时仍显示为纯文本,高亮失效,本质是 Sublime 没把文件关联到 SQL 语法定义。
- 打开任意
.sql文件 → 点击右下角当前语法名称(如Plain Text)→ 选择SQL(不是MySQL或PL/SQL,那是子集) - 若列表里没有
SQL,说明核心语法包缺失:按Ctrl+Shift+P→ 输入Package Control: Install Package→ 安装SQL(作者是sublimelsp,非同名旧包) - 永久绑定:在
Preferences → Settings – Syntax Specific中添加:"syntax": "Packages/SQL/SQL.tmLanguage"
启用 SQLTools 格式化功能(需额外配置)
SQLTools 自带格式化,但默认不绑定快捷键,且依赖外部工具(如 pg_format 或 sqlparse),不配就按 Ctrl+Alt+F 没反应。
- 先装 Python 格式化器:
pip install sqlparse(推荐,轻量、支持标准 SQL) - 打开
Preferences → Package Settings → SQLTools → Settings,修改以下字段:"formatter": "sqlparse""sqlparse_options": {"reindent": true, "keyword_case": "upper", "identifier_case": "lower"} - 确认快捷键已启用:在
Preferences → Key Bindings中添加:{"keys": ["ctrl+alt+f"], "command": "sql_tools_format"} - 注意:格式化对嵌套 CTE 或窗口函数支持有限,遇到
OVER (PARTITION BY ...)错位,可临时关闭reindent
真正容易被忽略的是语法识别路径和格式化器路径冲突——比如系统装了多个 Python,sqlparse 装在 Python 3.9 但 Sublime 调用的是内置 Python 3.3,就会静默失败。建议直接用绝对路径配置 "sqlparse_path",或者改用 pg_format 这类二进制工具避开解释器问题。











