双击开发文件强制启动xcode导致卡顿,可通过“显示简介”→“全部更改”永久重置扩展名默认打开方式,或用duti命令行工具批量指定textedit/vs code,严重时需重置launchservices数据库并重启mac。

你双击一个 .swift、.json 或 .plist 文件,系统立刻启动 Xcode,加载几十秒才打开——而你只是想快速看一眼内容。这种强制绑定不仅拖慢操作,还可能因 Xcode 启动失败导致文件根本打不开。
用“显示简介”一次性解除所有同类文件的Xcode绑定
右键点击任意一个被 Xcode 错误接管的文件(比如 test.swift)→ 选择「显示简介」。
在弹出窗口中找到「打开方式」下拉菜单,从里面选一个你真正想用的程序,例如「TextEdit」或「VS Code」。
点击「全部更改…」按钮 → 在弹出的确认对话框里点「继续」。
【这一步会立即更新系统级文件类型注册表,影响当前用户下所有同扩展名文件】 不是只改这个文件,也不是临时覆盖,而是永久重置该扩展名的全局默认行为。
用 duti 命令行工具批量清除Xcode对开发文件的默认控制
先确认你已安装 duti:打开终端,输入 duti -v。若提示 command not found,请先运行 brew install duti 安装。
查出 Xcode 的 Bundle ID:在终端执行 osascript -e 'id of app "Xcode"',返回结果类似 com.apple.dt.Xcode。
方法一:把某个扩展名(如 .swift)的默认打开方式清空,让系统回归“未指定”状态
执行命令:duti -s com.apple.TextEdit .swift all(用 TextEdit 替代,避免留空导致双击无响应)
方法二:批量重置常见开发文件类型,全部指向 VS Code
依次运行以下四条命令:duti -s com.microsoft.VSCode .swift allduti -s com.microsoft.VSCode .json allduti -s com.microsoft.VSCode .yml allduti -s com.microsoft.VSCode .md all
注意:Bundle ID 必须完全匹配,大小写敏感;VS Code 若未以标准方式安装,ID 可能是 com.visualstudio.code,可用 osascript -e 'id of app "Visual Studio Code"' 再确认一次。
彻底删除Xcode残留注册项(当“全部更改”和duti都不生效时)
第一步:关闭 Xcode 及所有相关进程。打开「活动监视器」,搜索并强制退出「Xcode」、「simulator」、「xcodebuild」、「coreduetd」等进程。
第二步:重置 LaunchServices 数据库。在终端中执行:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
第三步:等待命令执行完毕(约10–30秒),期间不要操作 Finder。完成后重启 Mac,系统会重建干净的默认应用登记表。
【此操作不可逆,会清除所有用户自定义的默认打开方式设置,需在执行前手动记录重要绑定】











