You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保存MS SQL查询中的代码大纲设置?

如何在SSMS中永久保留SQL查询的折叠大纲设置

我太懂这种烦恼了——手动用【Edit -> Outlining -> Hide Selection】弄的折叠区域,每次重启SSMS或者重新打开文件就清零,白忙活半天。其实SSMS本身支持用代码注释标记创建永久可折叠区域,下面给你两种实用方案:


方法1:用--#region和--#endregion定义永久折叠块

这是最靠谱的方式,SSMS会识别这些注释标记,自动生成可折叠大纲,而且会跟着SQL文件永久保存:

  • 在需要折叠的代码段开头加:--#region [可选的区域名称](名称方便你识别折叠内容)
  • 在代码段结尾加:--#endregion

举个实际例子:

SELECT o.*, od.ProductID, od.Quantity
FROM Orders o
--#region 订单筛选条件
WHERE 
    o.OrderDate BETWEEN '2023-01-01' AND '2023-12-31'
    AND o.CustomerID IN (SELECT c.CustomerID FROM Customers c WHERE c.Country = 'Canada')
--#endregion
CROSS APPLY (
    --#region 关联最新订单详情
    SELECT TOP 1 * 
    FROM OrderDetails od 
    WHERE od.OrderID = o.OrderID
    ORDER BY od.CreateTime DESC
    --#endregion
) AS latest_od

保存文件后,下次打开时这些区域会保留你上次设置的折叠状态,手动展开/折叠也完全不受重启影响。

方法2:全局开启“保留大纲状态”选项

如果你希望SSMS默认记住所有文件的大纲折叠状态,可以试试全局设置:

  • 打开SSMS,点击【工具 -> 选项】
  • 左侧导航栏找到【文本编辑器 -> Transact-SQL -> 大纲】
  • 勾选“在打开文件时保留大纲状态”
  • 点击确定保存设置

不过要注意:这个选项只对SSMS自动识别的大纲块(比如存储过程、函数)或者用#region标记的块生效,手动用Hide Selection创建的临时折叠还是不会保留,所以更推荐第一种方法。


内容的提问来源于stack exchange,提问作者PeterH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:36:10