如何自定义SSMS存储过程脚本生成,避免GO后添加额外换行?
解决SSMS生成存储过程脚本时换行叠加的问题
调整SSMS内置脚本生成选项
打开SSMS,依次进入工具 → 选项 → SQL Server对象资源管理器 → 脚本,修改以下关键设置:
- 找到「在GO语句前后添加换行符」相关选项,将其设置为仅添加单个必要换行,或直接关闭额外换行的添加
- 确认「脚本ANSI NULLs」「脚本QUOTED_IDENTIFIER」的格式配置,确保这两行语句后仅跟随单个GO语句及一行换行
使用自定义存储过程模板
如果内置选项不够灵活,可以自定义脚本模板:
- 打开SSMS的视图 → 模板资源管理器,定位到「存储过程」分类
- 复制系统默认模板,手动编辑模板内容,固定ANSI_NULLS、QUOTED_IDENTIFIER行后的格式,确保GO语句仅保留单个换行
- 后续生成存储过程脚本时,直接调用这个自定义模板
生成后批量清理多余换行
如果前两种方案无法满足,可通过SSMS的查找替换快速处理:
- 生成脚本后按
Ctrl+H打开查找替换窗口 - 查找输入
\n\nGO(匹配连续两个换行+GO),替换为\nGO,点击「全部替换」即可批量消除多余换行
生成脚本向导的额外设置
如果用「生成脚本向导」批量导出存储过程脚本,在「设置脚本选项」步骤里点击「高级」,找到「在GO语句前后添加换行符」选项,设置为False即可避免额外换行。
内容的提问来源于stack exchange,提问作者dya
相关产品推荐
相关产品推荐

