sqlbeautifier不支持可靠自动保存格式化,开启auto_format_on_save易致sublime卡死;应禁用该选项,改用快捷键(如ctrl+alt+f)手动触发,并对超300行或含深层cte的sql分段处理、人工校验。

SqlBeautifier 插件本身不支持真正可靠的「保存时自动格式化」,强行开启 "auto_format_on_save": true 很容易导致 Sublime 卡死或假死,尤其遇到长文本、未闭合引号、嵌套注释或深层 CTE 时。
这不是你配置错了,是插件底层 parser 的硬限制——它用纯 Python 实现,没有超时机制,一旦解析卡住,整个 UI 就会挂几秒甚至十几秒。
别开 auto_format_on_save
- 在
Preferences → Package Settings → SqlBeautifier → Settings中,确保用户设置里没有"auto_format_on_save": true,或者显式写成false - 如果已经开了,Sublime 编辑大 SQL 时偶尔无响应,大概率就是它在后台死等 parser 返回
- 该选项对含动态拼接(如
CONCAT('SELECT', @table))或反引号包裹字段(`UserLog`)的语句也极不稳定
替代方案:用快捷键 + 全选触发,更可控
一款AI工具,主要用于在主代理响应前,并行运行Kimi K2.5和GPT 5.3 Codex,注入双方观点以增强认知多样性,适合需要提升相关任务效率的用户。
- 手动绑定快捷键(推荐
Ctrl+Alt+F):{"keys": ["ctrl+alt+f"], "command": "sql_beautifier"},加到Preferences → Key Bindings右侧用户区 - 全文件格式化前先按
Ctrl+A,避免只格式化光标所在行或意外选中部分字符串 - 格式化后若发现 JOIN 条件错位或括号丢失,立刻
Ctrl+Z撤回,不要反复重试——错误通常已固化在解析树里
真要“自动”,只能换方案
-
SQLTools+pg_format或sqlparse外部命令,支持"format_on_save": true且有超时保护,但需额外装依赖、配formatter_path - Windows 用户注意:
pg_format.exe必须用绝对路径配置,否则 Sublime 启动时继承的 PATH 可能不含你放它的目录 - Mac M1/M2 用户常见静默失败:系统装了
pg_format,但 Sublime 调用的是内置 Python 环境,找不到 Perl 解释器——此时直接用sqlparse更稳
最常被忽略的一点:自动格式化不是目标,可读性才是。超过 300 行、含 3 层以上 CTE 或窗口函数的 SQL,无论用哪个工具,都建议分段处理、人工校验缩进和括号匹配——机器排版再整齐,括号错一位照样执行报错。










