现在是 2026 年。你按下 Ctrl+Shift+P,敲下 Switch Window,一个下拉列表弹出来,列出你所有打开的 VS Code 窗口。你选中一个,光标跳过去,原来的终端、光标位置、编辑状态原封不动。
整个过程不到两秒,你甚至不会意识到自己刚刚用了一个“功能”。它已经变成了你操作习惯的一部分。
但如果把时间拨回 2016 年,这个动作会变得非常麻烦。
2016 年的你,只能靠鼠标切窗口
假设你现在就在 2016 年的 VS Code 里工作。
你同时开了三个窗口:一个写前端,一个跑后端,一个临时测试用。你想从当前的前端窗口切到后端窗口。
你打开命令面板,搜“切换窗口”——没有这个命令。
你想用键盘解决,但唯一能用的 Ctrl+R 只是重新加载当前项目,或者打开历史记录。它不是切换已经跑起来的窗口。
你只能把手从键盘挪到鼠标,去任务栏上点那个窗口图标。或者用 Alt+Tab,在一堆长得差不多的窗口里找你要的那个。
对键盘流开发者来说,这很难受。不是不能工作,而是每次切窗口都要“打断”一下。你的手离开键盘,你的思路也跟着断了一下。
于是终于有网友忍不住向vscode提了这个问题
很快vscode就给出了实现方案:
- 不重新加载文件夹
- 只是在已经运行着的多个 VS Code 窗口实例之间做焦点切换
- 弹出快速选择框,列出所有现存窗口
- 选中直接跳过去,原先打开的终端、光标位置、编辑状态全部保留

这时,就会弹出所有窗口的下拉框给你任意选择
它解决的是一个非常具体的问题:我想换个窗口,但我不想重新加载项目。
站在 2026 年看,这条命令的价值其实比 2016 年更大。
今天,一个开发者同时开三四个 VS Code 窗口几乎是常态。前端、后端、工具链、文档、临时实验——每个窗口都有自己的上下文。你不想每次切窗口都重新初始化环境,也不想丢失当前终端里的运行状态。
workbench.action.switchWindow 满足的正是这种需求:切换,但不重置。
但是如果文章写道这里就结束,就很没够意思
因为每次都要通过命令面板来调用这个新功能实在是太麻烦了。
但是幸运的是,你可以把它绑定到自己习惯的按键上:
{
"key": "ctrl+alt+w",
"command": "workbench.action.switchWindow"
}
绑定之后,切窗口这件事就从“手离开键盘去点鼠标”变成了一个按键动作。
我经常想,为什么有些功能会成为“标配”,而有些功能用了几次就忘了。
switchWindow 这类命令之所以能留下来,是因为它解决的是每天都要重复的问题。它不是那种“偶尔用一次”的功能,而是“你每次切窗口都会用到”的基础设施。
你平时用 Switch Window 吗?还是说你有自己的一套窗口切换方式?欢迎在评论区分享你的切换窗口工作流。