十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

免费的 T-SQL 代码格式化工具:1 条命令批量美化 SQL,从命令行到编辑器全覆盖

免费的 T-SQL 代码格式化工具:1 条命令批量美化 SQL,从命令行到编辑器全覆盖 免费的 T-SQL 代码格式化工具1 条命令批量美化 SQL从命令行到编辑器全覆盖【免费下载链接】PoorMansTSqlFormatterA small free .Net and JS library (with demo UI, command-line bulk formatter, SSMS/VS add-in, notepad plugin, winmerge plugin, and demo webpage) for reformatting and coloring T-SQL code to the users preferences.项目地址: https://gitcode.com/gh_mirrors/po/PoorMansTSqlFormatterPoor Mans T-SQL Formatter 是一个免费、完整的 T-SQL 代码格式化库与工具集能把缩进混乱、关键字大小写随意的 SQL 脚本按你定的规则重新排版并提供命令行批量工具、桌面演示界面、SSMS / Visual Studio / Notepad 插件和网页演示解决SQL 代码美化全靠手工的问题。什么样的 SQL 场景最让人头疼接手过老项目的都知道几百行存储过程挤成一大坨有的where小写有的WHERE大写缩进一会儿两格一会儿四个空格。更麻烦的是团队规范——有人觉得每个条件必须换行有人觉得能挤就挤。靠人肉改改完下次提交又乱了。这类问题用 SQL 代码格式化工具解决最省事。这个项目有两个特点值得注意它不只格式化单条语句整批脚本、多批次GO 分隔的存储过程都能处理解析是宽容模式的遇到没看懂的写法不会直接报错崩掉而是尽量格式化其余部分并给出警告适合处理遗留代码。命令行、桌面版还是编辑器插件该用哪个先看入口形态再对号入座入口适合谁命令行工具要批量格式化整个目录、想接进 CI 或 SVN 服务器桌面演示界面想先看看格式化效果再决定规则偶尔手动用编辑器插件SSMS / VS / Notepad写 SQL 就住在这个编辑器里希望快捷键一键格式化网页演示 / JS 库想在浏览器或 Node.js 里用同一套引擎一个关键事实不管从哪个入口进底下跑的都是 PoorMansTSqlFormatterLibShared/ 里同一套解析和格式化引擎规则也完全一致——也就是说你在插件里调好的习惯换到命令行批量跑时不会变样。批量格式化怎么跑一条命令处理整个目录以下以最常用的命令行入口为例命令可直接执行。先拿到源码并编译.NET 2.0 即可Mono 也支持git clone https://gitcode.com/gh_mirrors/po/PoorMansTSqlFormatter然后进目录 PoorMansTSqlFormatterCmdLine/ 编译出可执行文件。用法上有个和很多工具不一样的地方要格式化的路径不是 -i 参数而是直接跟在后面的位置参数。批量处理当前目录下所有 .sql 文件含子目录原文件就地更新PoorMansTSqlFormatterCmdLine.exe . -r -b几个细节说明-r递归进子目录找文件-e可以指定其他扩展名默认只认.sql-b在改动前先备份成.bak不放心可以先用这个跑也可以把路径换成单个文件或者配合-o 输出文件把格式化结果写到别处原文件不动没有传文件时它读标准输入所以cat 某文件.sql | PoorMansTSqlFormatterCmdLine.exe -o 结果.sql也能用。跑完看一眼输出确认规则符合预期再决定要不要去掉-b正式执行。让规则按你的来缩进、换行、关键字大小写所有规则都集中在 TSqlStandardFormatterOptions.cs 这一个选项类里桌面版、插件的设置界面和命令行参数背后都是它。常见的几类缩进类IndentString缩进用什么字符、SpacesPerTab、MaxLineWidth超过就考虑折行换行类NewStatementLineBreaks语句之间空几行、NewClauseLineBreaks子句之间风格类UppercaseKeywords关键字统一大写、KeywordStandardization把同义写法归一、TrailingCommas尾逗号展开类ExpandCommaLists、ExpandBooleanExpressions、ExpandCaseStatements、ExpandInLists控制列表和表达式是每行一个还是挤在一起。命令行的短参数和这些一一对应-is缩进串、-mw行宽、-sb语句空行、-uk关键字大写等-h可以打印完整帮助。规则定好后团队每个人用同一份参数SQL 代码风格就统一了。进阶批处理脚本与 CI/CD 里加一道格式化检查逐文件重命名输出不覆盖原件Windows 下for %%f in (*.sql) do PoorMansTSqlFormatterCmdLine.exe %%f -o %%~nf_formatted.sql仓库级统一格式化会改文件内容提交前重跑一次即可让 diff 干净流程集成命令行跑完会返回非零退出码有告警或没找到文件时可以直接在 CI 里据此判断——格式检查不过就不让合入这是把规范变成强制约束的最低成本做法想自己写格式化器时实现 ISqlTreeFormatter.cs 定义的接口接进管线即可测试样例在 PoorMansTSqlFormatterTest/Data/ 里可以找到各种 SQL 的输入与期望输出。从一行 SQL 到一个 SQL 服务器目录同一个免费引擎都能覆盖把规则参数化之后SQL 代码美化就变成了一次性设置、长期生效的事。【免费下载链接】PoorMansTSqlFormatterA small free .Net and JS library (with demo UI, command-line bulk formatter, SSMS/VS add-in, notepad plugin, winmerge plugin, and demo webpage) for reformatting and coloring T-SQL code to the users preferences.项目地址: https://gitcode.com/gh_mirrors/po/PoorMansTSqlFormatter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表