You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止VSCode打开新项目时恢复已关闭的DevContainer会话

解决VSCode打开新项目时恢复已关闭DevContainer会话的问题

针对你遇到的——即使设置window.restoreWindows为none并使用--new-window参数,打开新项目时仍会恢复之前关闭的DevContainer会话的问题,可尝试以下几种解决方案:

1. 彻底清除VSCode会话缓存

重启系统能解决问题,说明是VSCode保留了未彻底清除的会话缓存。手动清理步骤:

  • 关闭所有VSCode窗口
  • 执行命令删除会话缓存目录(Linux环境):
rm -rf ~/.config/Code/User/workspaceStorage
rm -rf ~/.config/Code/CachedExtensions
  • 同时清理DevContainers的临时状态文件:
rm -rf ~/.local/share/code-server/User/globalStorage/microsoft/vscode-dev-containers

(注:路径可能因VSCode安装方式略有不同,若找不到可根据实际安装目录调整)

2. 添加DevContainers专属禁用恢复配置

除了全局的window.restoreWindows,DevContainers有自己的恢复控制配置,在用户设置(settings.json)中添加:

{
    "window.restoreWindows": "none",
    "workbench.editor.restoreViewState": false,
    "remote.containers.autoAttachExisting": false,
    "remote.containers.restoreWorkspace": false
}
  • remote.containers.autoAttachExisting:禁止自动连接已存在的容器会话
  • remote.containers.restoreWorkspace:禁止恢复之前的DevContainer工作区状态

3. 彻底终止VSCode进程后再打开新项目

有时关闭窗口后VSCode后台进程仍在运行,保留了会话状态:

  • 执行命令彻底杀死所有VSCode进程:
killall code
  • 再打开新项目:
code --new-window my-new-project

4. 检查Docker容器的残留状态

虽然docker ps显示容器已停止,但可能存在残留的容器元数据:

  • 列出所有容器(包括已停止的):
docker ps -a
  • 删除之前项目的DevContainer容器:
docker rm <容器ID或名称>

删除后再打开新项目,避免VSCode检测到残留容器并尝试恢复。


内容的提问来源于stack exchange,提问作者aphilas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 13:20:03