Ctrl+Shift+N新建的是独立进程空窗口,需手动Open Folder加载项目才算切换完成;跨窗口切换必须用系统级Alt+Tab(Win/Linux)或Cmd+`(macOS),VSCode无内置跨窗Tab轮转功能。

Ctrl+Shift+N 新建窗口 ≠ 切换项目
新建窗口只是起点,不是切换动作本身。按 Ctrl+Shift+N(Windows/Linux)或 Cmd+Shift+N(macOS)后,VSCode 会启动一个**全新进程**,但此时它仍是空的——你必须立刻执行 File → Open Folder… 加载目标项目,否则这个窗口不会加载任何工作区配置、终端历史或调试上下文。
- 误操作:在已有窗口里点
Open Folder…,会弹出“是否关闭当前文件夹”,选“是”就等于重启整个编辑器状态,语言服务重载、未保存的终端命令全丢 - 正确链路:新窗口 →
Open Folder…→ 选项目根目录 → 等待左侧资源管理器显示完整结构、状态栏出现路径名才算加载完成 - 命令行更稳:
code --new-window /path/to/project-b可跳过 GUI 点击,尤其适合脚本化或远程开发场景
Workspaces: Open Recent 不是历史记录,是路径快照
这个命令调出的列表,本质是 VSCode 自动维护的最近打开路径缓存,包含两类条目:单文件夹路径和 .code-workspace 文件路径。它不区分类型,也不排序,靠悬停预览路径才能确认是不是你要的多根工作区。
- 容易踩坑:列表里看起来都是“my-app”,但一个可能是
/home/user/my-app(单文件夹),另一个是/home/user/my-app.code-workspace(多根),点错就回不到预期环境 - 右键某条目 →
Pin to Top是唯一能固定入口的方式;默认列表会随新打开项滚动,不钉住就容易被刷掉 - 模糊搜索有效:
Ctrl+Shift+P输入Workspaces: Open Recent后直接打fe或api,能快速过滤出含关键词的路径
Project Manager 插件的窗口行为由按键组合决定
装了 vscode-project-manager 后,项目列表里的点击动作不是固定的——它根据你按下的修饰键实时切换语义,这点原生功能做不到。
-
Enter或无修饰键点击 → 在**当前窗口**打开(关闭现有项目,加载新项目) -
Shift+ 点击 → 强制在**新窗口**打开(保留当前所有状态) -
Ctrl(Win/Linux)或Cmd(macOS)+ 点击 → 在**当前窗口**以多根方式添加(仅对已有工作区生效,单文件夹模式下无效) - 插件默认不自动扫描项目,必须手动执行
Project Manager: Save Project才入库;名字重复会导致后续搜索冲突,建议带前缀如client-a-fe
分屏不是窗口切换,但能减少窗口数量
用 Ctrl+\ 垂直分屏或 Ctrl+Shift+\ 水平分屏,本质是在同一窗口内创建多个编辑器组(Editor Groups),它们共享扩展、设置和调试器进程,但可绑定独立终端。
- 终端分屏要主动绑定:右键终端面板 →
Move Terminal to Editor Area,再拖进对应分屏区域,否则所有终端都混在底部面板里 - 调试时务必核对左下角环境选择器——
launch.json中每个configuration的name必须明确区分,比如"Frontend (Vite)"和"Backend (Node.js)" -
Ctrl+1/Ctrl+2切换的是编辑器组焦点,不是标签页;Ctrl+Tab只在当前组内循环,跨组无效
Alt+Tab 或 Cmd+Tab),VSCode 自身没有跨窗口的 Tab 轮转机制。很多人卡在这里,是因为误以为 Ctrl+Tab 应该切窗口——它只切当前窗口内的标签页。


















