1、前言Visual Studio 的代码折叠功能非常好用,使用频率很高,但是他不支持 js 的代码折叠 : ( 为了改善用户体验,脚本写的越来越多,维护非常不方便,意外搜到了下面的文章,已经用宏来实现了)正文1. 打开宏资源管理器:视图 - 其他窗口 - 宏资源管理器2. 创建一个新模块3. 编辑宏: 选中模块 - 右键编辑Option Strict OffOption Explicit OffImports SystemImports EnvDTEImports EnvDTE80Imports System.DiagnosticsImports System.CollectionsPublic
2、 Module JsMacrosSub OutlineRegions()Dim selection As EnvDTE.TextSelection = DTE.ActiveDocument.SelectionConst REGION_START As String = “/#region“Const REGION_END As String = “/#endregion“selection.SelectAll()If selection.Text.EndsWith(REGION_END) Thenselection.EndOfLine()selection.NewLine()selection
3、.SelectAll()End IfDim text As String = selection.Textselection.StartOfDocument(True)Dim startIndex As IntegerDim endIndex As IntegerDim lastIndex As Integer = 0Dim startRegions As Stack = New Stack()DostartIndex = text.IndexOf(REGION_START, lastIndex)endIndex = text.IndexOf(REGION_END, lastIndex)If
4、startIndex = -1 AndAlso endIndex = -1 ThenExit DoEnd IfIf startIndex 环境 - 键盘4.2 在显示命令包含下面的文本框中输入宏名 outli,不用输全,下面能显示你新建的宏4.3 点一下 按快捷键 下面的文本框, 然后自定义快捷键组合,我定义的是 Ctrl+M,Ctrl+J,点分配(别忘了!),点确定。5.效果5.1 输入代码:/aasdsadsad/#region/#endregion5.2 快捷键 Ctrl+M,Ctrl+J 启动宏,能看到系统的右下角显示可爱的小方块在转动,js 编辑框显示效果如下: 5.3 之后就可以用快捷键 Ctrl+M,Ctrl+L 来展开/折叠代码了,注意关闭之后重新打开需要再启动一次宏,展开效果如下: