VSCode/Cursor开发swift
我是新手第一次开始学习swift,其实感觉 Xcode 开发体验也挺好的,想跟随 AI 的脚步去学习,所以才搭建这个环境。
创建项目
首先需要在 Xcode 中启动一个 swift 项目,然后运行起来。
- Xcode 创建项目
- 选择项目模板,这里选择
App
- 跟着引导设置项目名称

- 选择项目位置
- 等待项目创建完成,然后就会运行起来

安装
安装 VSCode 插件,用于 swift 的高亮,debug,格式化,热加载:
安装 sourcekit-lsp
这个就是 swift 的 lsp 服务,用于提供代码补全,代码高亮,代码提示等功能。
brew install sourcekit-lsp
然后在 swift 项目地址的终端中运行:
# 如果项目是 workspace 类型,那么运行:
#xcode-build-server config -workspace *.xcworkspace -scheme <name>
# 如果项目是 project 类型,那么运行:
xcode-build-server config -project *.xcodeproj -scheme <name>
# 比如我上面创建的项目名字叫 iShelf,那么先打开终端到项目根目录,再运行:
xcode-build-server config -project iShelf.xcodeproj -scheme iShelf
然后就会在项目根目录下生成一个 buildServer.json 文件,内容有刚才运行的命令。

以上这些操作后,再在 VSCode / Cursor 中打开项目,就会发现代码补全,代码高亮,代码提示等功能都正常了。
安装插件支持热更新
需要下载一个 Xcode 插件,然后还有一个 MacOS 软件。
- 安装 Inject 插件
打开 Xcode ,然后在顶部的菜单栏中选择 File -> Add Package Dependencies

然后在弹窗的弹框右侧输入栏中输入 Inject 插件的地址 https://github.com/krzysztofzablocki/Inject:
然后点击 Add Package 按钮,就会在项目中添加 Inject 插件。

接着给项目添加链接参数,在 Build Setting中,通过ALL,找到Linking,再定位到Other Linker Flags,加入两个参数
-Xlinker -interposable

- 安装 InjectionIII
到 InjectionIII 的 release 页面下载最新的 injection app,并添加到应用中。
然后运行 injection app,运行图标在顶部的工具栏中。
injectionIII打开项目
点击针管图标,就是 injectionIII 应用的图标,选择 open project -> 选择项目目录

再点击 Prepare Project 按钮,然后在弹窗点击 Go ahead 按钮,就会在项目中添加 injectionIII 的配置。

会发现项目中有很多刚才生成的文件,这些文件是 injectionIII 的配置文件。

运行
以上安装好了插件之后,就可以运行项目了。其实这个时候在 Xcode 中启动模拟器后,在 VSCode/cursor 中修改代码,会发现 Xcode 中的效果会更改。
不过也可以使用 VSCode 的插件 SweetPad 来热更新运行。
当前 VSCode 打开的项目文件夹是一个 swift 项目的根目录,打开侧边栏的 sweetpad 插件 -> 点击 Run 按钮

然后启动模拟器,并运行项目。
