折叠到除区域之外的定义的快捷方式
-
03-07-2019 - |
题
在 vs2008 中,我如何(可能使用宏)指定一个快捷键来折叠到定义,但使区域保持展开(如果折叠,它们必须展开)?
编辑: 我讨厌地区,但我的同事不喜欢(:所以我希望这样可以避开他们使用的区域。
我读了杰夫的帖子。如果没有区域的话,Ctrl M + O 是我真正想做的。
解决方案
我相信我有 最后 得到了我一直在寻找的答案,我认为它也可能对你有帮助,@Serhat。你说:
我读了杰夫的帖子。如果没有区域的话,Ctrl M + O 是我真正想做的。
那是 确切地 我心里在想什么。我继续这个思路,并致力于(暂时)摆脱#regions。
这不是一个完整的解决方案,但我很高兴有 某物 我正处于上蹿下跳的边缘。我会尽力使这些指示尽可能简单,尽管我敢说发布我创建的宏的实际内容可能会更容易。(见底部链接)
我创建了两个宏:
- 注释掉所有 #region 和 #endregion 指令。
- 取消注释所有 //#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
折叠到定义(如果您选择的话)。然后,在使用注释掉的 #regions 提交该单元之前,只需点击 Alt+Shift+/
取消注释#regions,它们将被重新激活。
最后,@Serhat,再次感谢您最初的评论,正是它让我首先踏上了这条轨道。
在实践中,有一个小问题我很愿意忍受。 //#region
其次是 #//endregion
算作连续的注释,注释仍然折叠,但至少没有隐藏其中的代码。
这是我从宏资源管理器中提取的承诺宏文本: http://pastebin.ca/1688618, ,尽管如果您手动按照我上面概述的步骤操作,则不需要这样做。
其他提示
我发现 Ctrl + M , Ctrl + O 对于折叠一切非常有用。
您是否阅读了 Jeff关于地区的博客文章?他列出了一些更有用的快捷方式。
为什么你要保持这些扩展,如果你不想让它崩溃,你真的需要这个区域吗?