VSCode 更新后 Cmd+点击终端地址在编辑器内部打开?一个设置帮你搞定
一个小小设置项的变化,差点让我以为 VSCode 出了什么 bug
背景
最近 VSCode 更新后,我发现了一个很别扭的变化:
以前在终端里看到 http://localhost:5173/ 这样的地址,Cmd + 点击 就会自动在系统默认浏览器(比如 Chrome 或 Safari)中打开。但更新之后,点击链接却直接在 VSCode 编辑器内部打开了,体验非常割裂。
排查了一圈,发现是 VSCode 新增的一个默认设置项在作祟。
问题现象
终端输出如下:

当我像往常一样按住 Cmd 点击 http://localhost:5173/ 时,链接在 VSCode 内置的 Webview 面板中打开了,而不是我想要的系统浏览器。
问题原因
VSCode 在近几个版本中新增了一个默认启用的设置项:
Terminal › Integrated: Local Link Open In Webview
顾名思义,这个设置的作用就是将终端中的 localhost 链接强制在 VSCode 内部的 Webview 面板打开。官方可能是为了方便开发者在编辑器内快速预览,但对于习惯了使用系统浏览器的开发者来说,这个改动反而增加了操作成本。
解决方案
方法一:通过设置界面关闭(推荐)
- 按下
Cmd + ,打开 VSCode 设置 - 在搜索框中输入
Open Localhost Links或localLinkOpenInWebview - 找到
Terminal › Integrated: Local Link Open In Webview选项 - 取消勾选 (将
true改为false)
修改后无需重启 VSCode,再次点击终端中的 localhost 链接即可在系统默认浏览器中打开。
方法二:直接修改 settings.json
如果习惯直接编辑配置文件,可以在 settings.json 中添加:
json
{
"terminal.integrated.localLinkOpenInWebview": false
}
方法三:检查是否安装了 Browser Tab 插件
如果你安装了 Browser Tab 插件(AdiEfrat.vscode-browser-tab),它也可能会拦截终端链接。可以检查该插件的 terminalLinks 设置是否启用,如有必要也可一并关闭。
延伸思考:用户设置 vs 工作区设置
在修改设置的过程中,你可能会发现 VSCode 的设置面板分为 "用户" 和 "工作区" 两个标签页,而且需要分别修改。
这其实是 VSCode 设计上的一个灵活特性,而非缺陷:
| 特性 | 用户设置 (User) | 工作区设置 (Workspace) |
|---|---|---|
| 作用范围 | 全局生效,影响所有项目 | 仅对当前项目生效 |
| 配置文件位置 | 用户目录下 | 项目根目录的 .vscode/settings.json |
| 优先级 | 较低 | 较高(会覆盖用户设置) |
| 是否提交 Git | ❌ 不提交 | ✅ 建议提交,方便团队共享 |
即使你的电脑只有你一个人使用,工作区设置仍然有它的价值:
- 项目隔离:不同项目可能使用不同的代码规范(缩进、格式化工具等),工作区设置可以让 VSCode 在切换项目时自动适配
- 可迁移性 :将
.vscode文件夹提交到 Git 后,换新电脑时只需git clone,所有项目配置就能自动生效
如果你觉得工作区设置对你来说是多余的,直接删除项目根目录下的 .vscode 文件夹,只使用用户设置即可。
总结
- 核心问题 :VSCode 更新后默认开启
terminal.integrated.localLinkOpenInWebview,导致终端 localhost 链接在编辑器内部打开 - 解决方法:在设置中关闭该选项即可恢复原有行为
- 延伸知识:用户设置和工作区设置各有不同的作用范围和优先级,理解它们的区别可以更好地管理 VSCode 配置
希望这篇文章能帮你解决类似的小困扰。如果你也有其他 VSCode 使用技巧或踩坑经历,欢迎在评论区分享交流!
💡 本文首发于稀土掘金,欢迎点赞、收藏、评论三连 🙏