Visual Studio中折叠/展开被计入撤销/重做步骤,能否修改该行为?
解决Visual Studio代码折叠/展开纳入撤销栈的问题
目前Visual Studio默认没有内置选项直接关闭折叠/展开操作的撤销记录,但可以通过以下两种方式实现需求:
1. 使用专用扩展
打开Visual Studio的「扩展」菜单,进入「管理扩展」,搜索类似Collapse All No Undo的扩展(这类扩展专门修改了折叠/展开命令的行为,使其不进入撤销/重做栈),安装完成后重启VS即可生效。
2. 自定义键盘快捷键(替换为无撤销记录的命令)
部分折叠/展开相关的原生命令本身不会生成撤销记录,你可以通过替换默认快捷键来实现目标:
- 打开「工具」→「选项」→「环境」→「键盘」
- 在「显示命令包含」输入框中,搜索对应命令:
- 切换当前区域折叠/展开:
Edit.ToggleOutliningExpansion - 折叠所有区域:
Edit.CollapseAllOutlining - 展开所有区域:
Edit.ExpandAllOutlining
- 切换当前区域折叠/展开:
- 选中目标命令,在「按快捷键」输入框中设置你常用的折叠/展开快捷键(比如替换原来的
Ctrl+M,Ctrl+M),点击「分配」后保存设置。
注:这类命令默认不会产生撤销记录,替换后使用快捷键操作折叠/展开,就不会干扰撤销/重做的历史流程了。
内容的提问来源于stack exchange,提问作者kofifus
相关产品推荐
相关产品推荐

