【问题标题】:Shortcut to collapse to definitions except regions折叠到除区域以外的定义的快捷方式
【发布时间】:2008-10-22 11:43:15
【问题描述】:

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

编辑:我讨厌区域,但我的同事不喜欢(:所以我希望这样可以避免他们使用的区域。

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

【问题讨论】:

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


    【解决方案1】:

    我相信我终于得到了我一直在寻找的答案,我认为它也可能对你有所帮助,@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+O 用于Collapse to Definitions(如果您选择的话)。稍后,在使用已注释掉的#regions 提交该单元之前,只需点击Alt+Shift+/ 取消注释#regions,它们将被重新激活。

    最后,@Serhat,再次感谢您最初的评论,让我首先进入了这条赛道。

    在实践中,我非常愿意忍受一个小问题。 //#region 后跟 #//endregion 算作连续注释,并且 cmets 仍处于折叠状态,但至少其中没有隐藏代码。

    这是我从宏资源管理器中提取的承诺宏文本:http://pastebin.ca/1688618,但如果您手动按照我上面概述的步骤进行操作,则不需要它。

    【讨论】:

      【解决方案2】:

      我发现 Ctrl + MCtrl + O 对于折叠一切真的很有用。

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

      为什么要保持这些扩展,如果您不希望它折叠,您真的需要该区域吗?

      【讨论】:

        猜你喜欢
        • 2012-05-10
        • 2010-10-25
        • 1970-01-01
        • 1970-01-01
        • 2015-03-01
        • 2023-03-10
        • 2016-11-19
        • 1970-01-01
        • 2011-04-15
        相关资源
        最近更新 更多