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

时间:2008-10-22 11:43:16

标签: visual-studio visual-studio-2008 keyboard-shortcuts

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

编辑:我讨厌地区,但我的同事却没有(:所以我希望这样可以避开他们使用的地区。

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

2 个答案:

答案 0 :(得分:6)

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

  

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

那是完全我在想什么。我继续这一思路,并努力(暂时)摆脱#regions。

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

我创建了两个宏:

  1. 注释掉所有#region和#endregion指令。
  2. 取消注释所有//#region和// #endregion次数。
  3. 创建第一个宏:

    • 开始使用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+O进行折叠定义(如果您愿意)。然后,在将该单元与已注释掉的#regions一起提交之前,只需点击Alt+Shift+/取消注释#regions即可重新激活它们。

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

    在实践中,我非常愿意接受一个小小的打嗝。 //#region后跟#//endregion计为连续注释,注释仍然已折叠,但至少没有隐藏代码。

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

答案 1 :(得分:3)

我发现 Ctrl + M Ctrl + O 对于折叠一切非常有用。

您是否阅读过Jeff's blog post about regions?他列出了一些更有用的快捷方式。

为什么你要保持这些扩展,如果你不想让它崩溃,你真的需要这个区域吗?