VSCode 更新后 Cmd(Ctrl)+点击终端地址在编辑器内部打开?一个设置帮你搞定

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 面板打开。官方可能是为了方便开发者在编辑器内快速预览,但对于习惯了使用系统浏览器的开发者来说,这个改动反而增加了操作成本。

解决方案

方法一:通过设置界面关闭(推荐)

  1. 按下 Cmd + , 打开 VSCode 设置
  2. 在搜索框中输入 Open Localhost LinkslocalLinkOpenInWebview
  3. 找到 Terminal › Integrated: Local Link Open In Webview 选项
  4. 取消勾选 (将 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 文件夹,只使用用户设置即可。

总结

  1. 核心问题 :VSCode 更新后默认开启 terminal.integrated.localLinkOpenInWebview,导致终端 localhost 链接在编辑器内部打开
  2. 解决方法:在设置中关闭该选项即可恢复原有行为
  3. 延伸知识:用户设置和工作区设置各有不同的作用范围和优先级,理解它们的区别可以更好地管理 VSCode 配置

希望这篇文章能帮你解决类似的小困扰。如果你也有其他 VSCode 使用技巧或踩坑经历,欢迎在评论区分享交流!


💡 本文首发于稀土掘金,欢迎点赞、收藏、评论三连 🙏

相关推荐
慢功夫11 天前
💡第七篇:VSCode语言服务中,代码跳转和诊断是怎么做的?
前端·visual studio code
yiyesushu12 天前
GitHub Copilot 在 vscode 中使用之 Prompt
人工智能·visual studio code
程序员Supers14 天前
VSCode 好用插件推荐
visual studio code
慢功夫15 天前
💡第五篇:VSCode插件是如何与主进程通信的?
前端·visual studio code
凉凉的知识库15 天前
用 GPT-5.6 SOL 写了个 VS Code 插件,效果出乎意料
api·测试·visual studio code
土土哥tutuge17 天前
开源项目 Claude Code Notifier Plus:让 Claude Code 真正需要你时再提醒你
ai编程·visual studio code
慢功夫18 天前
💡第四篇:编辑器内核, Monaco model、URI、dirty 状态和 tabs 是怎么协作的?
前端·visual studio code
annekqiu19 天前
VS code 部署agent
github·visual studio code
RequieMa19 天前
再见了,所有的 VS Code 预览窗
visual studio code
mCell21 天前
从 VS Code 学系统架构:回到当时,理解它为什么这样演进
架构·源码阅读·visual studio code