折叠到除区域之外的定义的快捷方式

Ser*_*gel 9 keyboard-shortcuts visual-studio-2008 visual-studio

在vs2008中,我如何(可能使用宏)分配快捷键以折叠到定义但保留区域扩展(如果折叠它们必须展开)?

编辑:我讨厌地区,但我的同事没有(:所以我希望这可以避免他们使用的区域.

我读了杰夫的帖子.如果没有区域,Ctrl M + O就是我真正想要做的.

JMD*_*JMD 6

我相信我终于得到了我一直在寻找的答案,我认为它也可以帮到你,@ Serhat.你说:

我读了杰夫的帖子.如果没有区域,Ctrl M + O就是我真正想要做的.

正是我对自己的看法.我继续这种思路,并努力(暂时)摆脱#regions.

这不是一个完整的解决方案,但我很高兴有一些我即将上下跳跃的东西.我会尝试尽可能简单地使这些指示,虽然我敢说它可能只是更容易发布我创建的宏的实际内容.(见底部链接)

我创建了两个宏:

  1. 注释掉所有#region和#endregion指令.
  2. 取消注释所有// #region和// #endregion次要事件.

创建第一个宏:

  • 开始录制宏Ctrl+Shift+R,并按照以下步骤操作:
  • Ctrl+H,找到:#region,替换为://#region
  • Alt+A 替换全部
  • Ctrl+H,找到:#endregion,替换为://#endregion
  • Alt+A 替换全部
  • 结束录制宏 Ctrl+Shift+R
  • 使用Alt+F8或工具| 打开宏资源管理器 宏>宏浏览器
  • 将TemporaryMacro重命名为CommentRegionDirectives

然后,创建第二个宏:

  • 开始录制宏Ctrl+Shift+R,并按照以下步骤操作:
  • Ctrl+H,找到://#region,替换为:#region
  • Alt+A 替换全部
  • Ctrl+H,找到://#endregion,替换为:#endregion
  • Alt+A 替换全部
  • 结束录制宏 Ctrl+Shift+R
  • 使用Alt+F8或工具| 打开宏资源管理器 宏>宏浏览器
  • 将(新的)TemporaryMacro重命名为UncommentRegionDirectives

现在,使用Ctrl + S将宏保存在宏资源管理器中.

最后,为两个宏指定快捷键:

  • 打开工具| 选项| 环境+键盘
  • 在"显示包含:的命令"中输入Directives.这将显示你的两个宏,名为"Macros.MyMacros.RecordingModule.CommentRegionDirectives"和"... UncommentRegionDirectives"
  • 突出显示CommentRegionDirectives条目,然后在"按快捷键:"框中键入,Alt+/然后单击Assign按钮
  • 突出显示UncommentRegionDirectives条目,然后在"按快捷键:"框中键入,Alt+Shift+/然后单击Assign按钮(默认情况下,这两个快捷键组合未分配给任何内容)
  • 单击"确定"以保存快捷方式分配.

现在,当您遇到自动折叠的#regions时,点击Alt+/以注释#region指令,并点击Ctrl+M+OCollapse to Definitions(如果您选择)的标准.然后,在将该单元与已注释掉的#regions一起提交之前,只需点击Alt+Shift+/取消注释#regions即可重新激活它们.

最后,@ Serhat,再次感谢您的原始评论,这些评论首先让我踏上了这条赛道.

在实践中,我很愿意接受一个小小的打嗝. //#region其次是#//endregion计数作为连续注释,注释仍然折叠,但至少没有隐藏代码.

以下是我从Macro Explorer中提取的承诺宏文本:http://pastebin.ca/1688618,但如果您手动按照上面列出的步骤操作则不需要.