VSCode启动时布局未恢复,主因是--new-window参数强制新建窗口、多根工作区独立加载、或workbench.editor.restoreViewState设为false;需关闭Settings Sync,再通过命令面板执行“View: Reset View Locations”重置视图位置。

用 code 启动时为什么布局没恢复?
直接运行 code . 通常能加载上次工作区的编辑器组布局,但以下情况会让它失效:
• 加了 --new-window 参数(强制新建独立窗口,完全不继承任何状态)
• 当前是多根工作区(multi-root workspace),VSCode 会按当前根文件夹单独加载布局,切换目录就像换了个编辑器
• "workbench.editor.restoreViewState" 在 settings.json 中被设为 false(默认是 true,改过就需手动调回)
code --disable-extensions --user-data-dir 是最干净的重置启动方式
这不是“恢复默认”,而是绕过所有用户状态,启动一个临时干净实例,用来验证是否是扩展或配置导致布局异常:
• Windows/Linux:code --disable-extensions --user-data-dir=/tmp/vscode-test .
• macOS:code --disable-extensions --user-data-dir=/tmp/vscode-test .
注意:/tmp/vscode-test 是临时路径,VSCode 启动后会自动创建并使用它,退出即丢弃,不影响你原来的设置
这个命令不会修改任何现有配置,只用于诊断——如果此时布局正常,问题大概率出在某个扩展或 storage.json 缓存上
启动后立刻执行 View: Reset View Locations 才算真正重置
命令行本身不提供“重置布局”参数,必须进界面后手动触发:
• 启动 VSCode(无论用什么命令)
• 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS)打开命令面板
• 输入 View: Reset View Locations 并回车
• 所有视图(侧边栏、终端、调试面板、问题面板)会归位,但编辑器组(split groups)不会自动还原成单列——它只管“非编辑器区域”的位置
如果连编辑器组也想清空,再补一句 workbench.action.closeAllEditors(快捷键 Ctrl+K Ctrl+W),然后手动用 Ctrl+\ 重建
容易被忽略的两个硬性前提
• Settings Sync 必须关掉:如果你开了同步,哪怕删了本地 settings.json,重启后也会从云端拉回旧配置,包括错乱的 window.x、window.y 等坐标值
• 不要依赖 Ctrl+1 或 Ctrl+K Ctrl+0:前者只是聚焦第一组,后者只合并标签页到第一组,都不影响组数和位置——真要重置布局,必须走 Reset View Locations 或删 storage.json


















