VS 2022 Solution Explorer已展开项无故自动折叠问题咨询
VS 2022解决方案资源管理器自动折叠展开节点的原因&解决方案
已知触发原因
- 核心诱因是VS2022重构了解决方案资源管理器的异步加载逻辑,和VS2019的同步加载树节点机制不同:当后台触发Roslyn项目重解析、NuGet包还原、源文件索引更新(比如修改Model类属性触发的实时编译分析)时,局部树节点刷新逻辑存在状态丢失bug,会错误重置非当前选中节点的展开状态。
- 内置功能逻辑冲突:默认开启的「在解决方案资源管理器中跟踪活动项」选项,和异步加载下“未完成加载标记的节点默认折叠”的规则冲突,手动展开的节点如果没有被标记为“已完成异步加载”,刷新时就会被强制折叠。
- 第三方扩展干扰:部分代码生成、项目管理类插件会直接调用解决方案资源管理器的全量刷新接口,调用时不会保留原有节点的展开状态。
可直接落地的解决方法
- 关闭易触发bug的内置配置
打开顶部菜单栏工具 -> 选项 -> 项目和解决方案,调整两个配置项:- 取消勾选 在解决方案资源管理器中跟踪活动项
- 取消勾选 打开解决方案时异步加载项目元素
调整完成后重启VS,80%以上的自动折叠场景会直接消失。
- 固定需要长期展开的节点
右键你需要保持展开的Models文件夹,选择固定展开状态(部分版本入口在解决方案资源管理器顶部工具栏的「更多选项」下拉菜单中),固定后的节点不会在局部刷新时被自动折叠。 - 排查扩展冲突
关闭所有VS实例后,在命令行执行devenv /safemode以安全模式启动VS,正常开发测试1-2天,如果自动折叠问题不再复现,逐个禁用最近安装的扩展即可定位冲突项,优先排查代码生成、解决方案增强类插件。 - 版本兜底方案
该自动折叠bug在VS2022 17.4、17.6两个小版本中触发概率最高,如果当前使用这两个版本,可升级到最新正式稳定版,或临时回退到17.3 LTS版本规避问题。
内容的提问来源于stack exchange,提问作者Roger
相关产品推荐
相关产品推荐

