跳到主要内容

VS Code 和 Xcode 同时打开同一个工程:怎么切换、哪些东西互通

VS Code 装快蝎插件后可与 Xcode 同时打开同一个工程:编译缓存和索引共用,工程改动自动同步。说明何时切到 Xcode、新建文件规则和 .gitignore。

VS Code 和 Xcode 可以同时打开同一个 iOS 工程。装上免费插件快蝎(KXApp)后,VS Code 直接用你的 .xcodeproj / .xcworkspace,不转换、不复制:编译缓存两边共用,在一边构建过,另一边不用重新编译;在 Xcode 里改了 Scheme 或工程设置,VS Code 会自动刷新。日常写代码、运行、调试放在 VS Code,需要 Interface Builder、Instruments、归档上传时切到 Xcode 即可。这篇讲两边哪些东西互通、怎么切换、新建文件和版本管理要注意什么,截至 2026 年 10 月,适用 Xcode 16 及以上。

还不确定 VS Code 能做到哪些事的,先看VS Code 开发 iOS 应用可行吗?。

两边哪些东西是共用的

内容 是否互通 说明
工程文件(.xcodeproj / .xcworkspace) 同一份 VS Code 不生成自己的工程,同事继续用 Xcode 不受影响
编译缓存 共用 在 VS Code 里构建过,切到 Xcode 运行不用从头编译,反过来也一样
代码索引 共用 跳转定义、查找引用用的是同一份索引
Scheme 和构建配置 同一份 在 Xcode 里新建或修改 Scheme,VS Code 的列表自动更新
当前选中的 Scheme、运行目标 各自记 VS Code 记住自己的选择,不跟随 Xcode 工具栏
工程设置、Info.plist、资源目录 同一份文件 在任一边修改并保存,另一边读到的是新内容
签名设置、Apple ID 用 Xcode 的 账号在 Xcode「设置 › 账户」登录,VS Code 构建时直接使用

什么时候切到 Xcode

要做的事 在哪里做
写代码、代码补全、跳转 VS Code
构建、运行到模拟器或 iPhone、断点调试 VS Code(⌘R)
单元测试、UI 测试 VS Code 测试资源管理器
改 Info.plist、App 图标、多语言、Build Settings VS Code 可视化编辑器,或 Xcode
Storyboard / XIB 可视化布局 Xcode Interface Builder
SwiftUI 预览画布 Xcode
性能分析(Time Profiler、Allocations 等) Xcode Instruments
归档、上传 App Store / TestFlight Xcode Product › Archive、Organizer
编辑 Scheme(勾选测试 target、环境变量等) Xcode 的 Scheme 编辑器

切换时不需要关掉另一边。在 Xcode 里做完再回到 VS Code,按 ⌘R 继续即可。

在 VS Code 里断点调试 iOS 应用

同时编辑同一个文件时

  • 源代码:两边都是普通文本编辑器的行为。在一边保存后,另一边会读到磁盘上的新内容;两边都有未保存的修改时,以后保存的一方为准,注意不要同时改同一个文件。
  • Info.plist 等属性列表:VS Code 里打开着的属性列表编辑器,会在 Xcode 保存后自动载入新内容。
  • 工程设置:在 Xcode 里改了 target、Scheme 或 Build Settings,VS Code 的 Xcode 工程视图会自动刷新。
  • 构建:不要在两边同时构建同一个工程,等一边构建完再在另一边操作。

新建文件要注意

快蝎插件不会把新建的文件自动加入工程。新文件能否参与编译,取决于工程里这个目录的组织方式:

目录在 Xcode 里的样子 新文件
文件夹(Xcode 16 起新建工程的默认方式,图标是蓝色文件夹) 放进文件夹就自动参与编译,在 VS Code 里新建即可
分组(旧工程常见,图标是黄色文件夹) 要在 Xcode 里把文件加入对应的 target 才会编译

用 Claude Code、Copilot 等 AI 工具生成新文件时也是同样的规则。旧工程可以在 Xcode 里把分组转换成文件夹(右键分组 › Convert to Folder),之后新文件就不用再手动添加。

版本管理

  • 插件第一次打开工程时,会在打开的文件夹根目录写一个 buildServer.json,代码补全要用它。它和本机路径有关,建议加进 .gitignore。
  • 插件不会在工程里生成其他文件,.xcodeproj 只在你通过可视化编辑器修改工程设置或资源时才会变化,写法和 Xcode 一致,提交时的 diff 和在 Xcode 里改的一样。
  • .vscode/launch.json(如果你写了)可以提交,团队成员共用调试配置。

常见问题

Xcode 需要一直开着吗?

不需要。Xcode 只要装好、打开过一次就行。VS Code 构建、运行、调试时不需要 Xcode 窗口,但同时开着也没问题。

在 VS Code 里构建过,切到 Xcode 为什么不用重新编译?

两边用的是同一份编译缓存。只要 Scheme、构建配置和运行目标相同,Xcode 会直接复用已有的编译结果。

在 VS Code 里新建的 Swift 文件编译时找不到怎么办?

看这个目录在 Xcode 里是文件夹还是分组。分组方式要在 Xcode 里把文件加进 target;文件夹方式会自动包含。

团队里有人用 Xcode、有人用 VS Code,会互相影响吗?

不会。工程文件是同一份,VS Code 这边不会生成或改写额外的工程文件;只需要把 buildServer.json 加进 .gitignore。