【发布时间】:2008-10-22 11:43:15
【问题描述】:
在 vs2008 中,我如何(可能使用宏)分配快捷键以折叠到定义但保持区域展开(如果折叠则它们必须展开)?
编辑:我讨厌区域,但我的同事不喜欢(:所以我希望这样可以避免他们使用的区域。
我阅读了杰夫的帖子。 Ctrl M + O 是我真正想做的,如果没有区域的话。
【问题讨论】:
标签: visual-studio visual-studio-2008 keyboard-shortcuts
在 vs2008 中,我如何(可能使用宏)分配快捷键以折叠到定义但保持区域展开(如果折叠则它们必须展开)?
编辑:我讨厌区域,但我的同事不喜欢(:所以我希望这样可以避免他们使用的区域。
我阅读了杰夫的帖子。 Ctrl M + O 是我真正想做的,如果没有区域的话。
【问题讨论】:
标签: visual-studio visual-studio-2008 keyboard-shortcuts
我相信我终于得到了我一直在寻找的答案,我认为它也可能对你有所帮助,@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 或工具| 打开宏资源管理器宏 > 宏浏览器然后,创建第二个宏:
Ctrl+Shift+R 开始录制宏,然后按照以下步骤操作:Ctrl+H,查找内容://#region,替换为:#region
Alt+A 全部替换Ctrl+H,查找内容://#endregion,替换为:#endregion
Alt+A 全部替换Ctrl+Shift+R结束录制宏
Alt+F8 或工具| 打开宏资源管理器宏 > 宏浏览器现在,使用 Ctrl+S 将宏保存在宏资源管理器中。
最后给这两个宏分配快捷键:
Directives。这应该会显示您的两个宏,名为“Macros.MyMacros.RecordingModule.CommentRegionDirectives”和“...UncommentRegionDirectives”Alt+/,然后单击 Assign 按钮Alt+Shift+/,然后单击 Assign 按钮(默认情况下,这两个快捷键组合未分配给任何内容)现在,当您遇到自动折叠的#regions 时,请点击Alt+/ 注释掉#region 指令,然后点击标准的Ctrl+M+O 用于Collapse to Definitions(如果您选择的话)。稍后,在使用已注释掉的#regions 提交该单元之前,只需点击Alt+Shift+/ 取消注释#regions,它们将被重新激活。
最后,@Serhat,再次感谢您最初的评论,让我首先进入了这条赛道。
在实践中,我非常愿意忍受一个小问题。 //#region 后跟 #//endregion 算作连续注释,并且 cmets 仍处于折叠状态,但至少其中没有隐藏代码。
这是我从宏资源管理器中提取的承诺宏文本:http://pastebin.ca/1688618,但如果您手动按照我上面概述的步骤进行操作,则不需要它。
【讨论】:
我发现 Ctrl + M,Ctrl + O 对于折叠一切真的很有用。
你读过Jeff's blog post about regions吗?他列出了一些更有用的快捷方式。
为什么要保持这些扩展,如果您不希望它折叠,您真的需要该区域吗?
【讨论】: