poor man's t-sql formatter是notepad++中真实存在的sql格式化插件,正确名称含撇号与空格,非“poorsql”;需通过plugin manager安装并重启生效,支持sql语言模式下智能缩进与关键字大写。

Notepad++ 没有官方叫 “PoorSql” 的插件,你搜不到、装不上、点了也没反应——这是个常见误传名称,实际应找 Poor Man's T-SQL Formatter(注意单引号位置和大小写)或 SQLinForm。
为什么搜“PoorSql”找不到插件
插件管理器里不存在 PoorSql 这个包名,连带的 GitHub 仓库、DLL 文件名、菜单项里都无此命名。用户常因口误、文档笔误或旧帖缩写(如把 “Poor Man’s” 简写成 “PoorSQL”)输错关键词,导致反复安装失败。
- 正确全名是
Poor Man's T-SQL Formatter(带撇号、空格、大小写敏感) - 对应 DLL 文件名通常是
PoorMansTSqlFormatterNppPlugin.dll或PoorMansTSqlFormatterNpp64.dll(不含 “Sql”) - 插件管理器搜索时,输入
T-SQL或Formatter比输“PoorSql”更可靠
安装 Poor Man's T-SQL Formatter 的实操要点
该插件在 Notepad++ v8.x(2025 年后主流版本)中兼容性良好,但安装路径和重启动作容易被跳过:
- 必须通过
Plugins → Plugin Manager → Show Plugin Manager打开管理器,手动勾选安装;不支持拖拽 DLL 到 plugins 目录直用(v8+ 已弃用旧式插件加载) - 安装后务必重启 Notepad++,否则
Plugins → Poor Man's T-SQL plugin → Format T-SQL code菜单项不会出现 - 若菜单仍不显示,检查是否启用了“隐藏已禁用插件”选项(Plugin Manager 设置里可调)
- 格式化前请先将语言设为
SQL(Language → SQL),否则关键字识别率下降,WHERE可能被当成普通文本缩进错位
SQLinForm vs Poor Man's T-SQL Formatter 怎么选
两者都能一键格式化,但行为逻辑差异明显,直接影响你后续改 SQL 的效率:
-
SQLinForm更激进:默认把所有逗号后字段换行、JOIN前加换行、AS强制对齐——适合规范严、多人协作的 DBA 团队,但会撑宽语句,小屏看一屏要左右拖 -
Poor Man's T-SQL Formatter更克制:保留原换行结构,只调整缩进层级和关键字大小写(如自动转SELECT为大写),适合快速修 bug 或贴日志查问题 -
SQLinForm需手动下载 DLL 并放入plugins目录(不走 Plugin Manager),v8.6+ 版本需确认下载的是SQLinFormNpp64.dll(x64)而非旧版 32 位 - 如果 SQL 含大量嵌套子查询或动态拼接(如含
${xxx}或@param),Poor Man's容错更好,SQLinForm可能报Parse error near '@'
格式化后字段对不齐?别怪插件,先看这三处
所谓“一键没对齐”,90% 是因为没处理基础排版前提,插件只是锦上添花:
- 确保已启用
Settings → Preferences → Language → SQL → Tab size = 4(不是 2,也不是自动检测) - 选中代码后按
Ctrl+I先做一次原生智能缩进,再点插件菜单——插件依赖当前缩进基准线 - 避免混用空格与 Tab:用
View → Show Symbol → Show All Characters查看,若有·(空格)和→(Tab)并存,先统一为 Tab(Edit → Blank Operations → TAB to Space或反向)
真正难的不是装哪个插件,而是你手里的 SQL 是否含非标准语法(比如 ClickHouse 的 WITH FILL、Doris 的 /*+ SET_VAR() */ 提示),这类扩展语法会让所有通用 SQL 格式化器退回到“尽力而为”模式——此时得靠正则分步切 + NppAutoIndent 补位,而不是盯着插件按钮反复点。











