Visual Studio Code从Finder打开文件时替换已打开标签页问题求助
解决VS Code在macOS双击文件关闭现有实例的问题
我之前也碰到过一模一样的糟心情况——常年开着近10个标签页工作,结果双击Finder里的关联文件直接把整个VS Code实例给替换了,所有打开的文件全没了,简直崩溃!针对你用的VS Code v1.21.1和macOS Sierra环境,这里有几个亲测有效的解决办法:
方法1:修改系统文件关联参数(最核心的解决方案)
macOS默认的VS Code文件关联没有传递「复用现有实例」的参数,导致双击文件时会启动新实例或者替换当前实例。你可以通过终端命令修复:
- 打开终端,先删除现有的文本类文件关联(如果需要针对其他类型文件,替换
public.plain-text即可):duti -s com.microsoft.VSCode public.plain-text all - 接着添加带强制复用实例参数的关联:
这里的duti -s com.microsoft.VSCode public.plain-text all --args --open-in-existing-window--open-in-existing-window就是关键参数,它会让新打开的文件直接加入当前活跃的VS Code实例,而不是替换或新建窗口。
方法2:检查VS Code内部设置
虽然你说没找到相关设置,但可以再确认一下:
- 打开VS Code,按
Cmd+,打开设置界面 - 在搜索框输入
window.openFilesInNewWindow,确保该选项设置为off(v1.21.1版本中,这个值表示在当前窗口打开文件) - 如果设置没问题还是出现异常,那基本就是系统关联的问题,优先用方法1解决。
方法3:重启生效
修改完关联或设置后,记得做这两步确保生效:
- 完全退出VS Code(右键Dock图标选「退出」,不要只最小化)
- 重启Finder:按住
Option键右键Dock里的Finder图标,选择「重启」
另外给你个小技巧:如果偶尔需要单独打开新的VS Code实例,只要按住Option键双击文件,就能临时绕过设置,打开独立窗口。
内容的提问来源于stack exchange,提问作者nbloqs
相关产品推荐
相关产品推荐

