在vs2008中,我如何(可能使用宏)分配一个快捷键来折叠定义但保留区域展开(如果折叠必须展开)?
编辑:我讨厌区域,但我的同事不讨厌。所以我想避免他们使用的区域。
我读了杰夫的帖子。如果没有区域,Ctrl M + O就是我真正想做的事情。
编辑:我讨厌区域,但我的同事不讨厌。所以我想避免他们使用的区域。
我读了杰夫的帖子。如果没有区域,Ctrl M + O就是我真正想做的事情。
我相信我终于找到了我一直在寻找的答案,而且我认为它可能也会帮助你,@Serhat。你说:
我读了杰夫的文章。如果没有区域,Ctrl M + O 就是我真正想做的。
这正是我自己在想的。我继续思考并找到了一种方法(暂时)摆脱 #regions。
这不是完整的解决方案,但我很高兴有 某些东西,以至于我快要跳起来了。我会尽量让这些说明变得简单易懂,尽管我敢说直接发布我创建的宏的实际内容可能更容易。(请参见底部链接)
我创建了两个宏:
创建第一个宏:
Ctrl+Shift+R
开始录制宏,并按照以下步骤操作:Ctrl+H
,查找: #region
,替换为: //#region
Alt+A
替换所有Ctrl+H
,查找: #endregion
,替换为: //#endregion
Alt+A
替换所有Ctrl+Shift+R
结束录制宏Alt+F8
或 Tools | Macros > Macro Explorer 打开宏资源管理器然后,创建第二个宏:
Ctrl+Shift+R
开始录制宏,并按照以下步骤操作:Ctrl+H
,查找: //#region
,替换为: #region
Alt+A
替换所有Ctrl+H
,查找: //#endregion
,替换为: #endregion
Alt+A
替换所有Ctrl+Shift+R
结束录制宏Alt+F8
或 Tools | Macros > Macro Explorer 打开宏资源管理器现在,在宏资源管理器中使用 Ctrl+S 保存您的宏。
最后,为这两个宏分配快捷键:
指令
。这将显示两个宏,命名为 “Macros.MyMacros.RecordingModule.CommentRegionDirectives” 和 “... UncommentRegionDirectives”Alt+/
,然后单击“分配”按钮Alt+Shift+/
,然后单击“分配”按钮(默认情况下,这两个快捷键组合未分配给任何内容)现在,当您面对自动折叠的 #region 时,按 Alt+/
注释掉 #region 指令,并按标准的 Ctrl+M+O
进行折叠到定义(如果您选择)。 然后稍后,在提交带有注释的 #regions 的单元之前,只需按 Alt+Shift+/
取消注释 #region,它们将被重新激活。
最后,感谢 @Serhat,再次感谢你的原始评论,首先让我知道了这个跟踪。
实际上,有一个小问题,我愿意忍受。 //#region
后面跟着 #//endregion
计为连续的注释,并且注释仍然被折叠,但至少其中没有隐藏的代码。
这是我从宏资源管理器中提取的承诺文本:http://pastebin.ca/1688618,尽管如果您手动按照我上面概述的步骤操作,则不需要它。