为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用VSCode/Cursor进行iOS开发提升效率?

最近,AI引起了大量的讨论和关注,以及它是否能帮助提高你的开发效率。我想和大家分享一下AI及其在Cursor中的应用如何显著提升了我的工作效率。

简而言之,Cursor 是基于 VSCode 的一个分支版本,内置了许多代码编辑的 AI 功能。如果你用过 VSCode 里的 Copilot,你大概知道我在说什么。想象 Copilot,但要好十倍,并且还有许多其他实用功能,旨在提高工作效率。

下面的故事是我如何在我的开源项目 SwiftUI Mastodon 客户端 Ice Cubes 项目中使用和配置它的。

GitHub - Dimillian/IceCubesApp: 一个基于 SwiftUI 的 Mastodon 客户端。欢迎为 Dimillian/IceCubesApp 项目贡献力量,欢迎加入我们。

我只是完全切换到它几个星期以来,所以这篇文章主要是关于如何设置以及使用基本功能。你很快就可以期待后续的文章会介绍如何进一步提升你的工作效率。

你都需要些什么?

首先,你需要下载Cursor。它是免费的,但稍后我将演示的一些功能需要你订阅20美元的付费功能。我不是在推销任何东西,只是想让你自己决定是否值得。你可以先试试免费版本。另外,如果你已经为OpenAI、Claude和Gemini付费了,你可以在设置中添加你自己的OpenAI、Claude和Gemini的API密钥。

Cursor AI代码编辑器

下载完成后,你需要安装几个扩展程序和brew公式(包括brew公式)。

Xcode (用于构建Xcode项目的服务器)

brew install xcode-build-server
这是 macOS 的包管理器 brew,使用它来安装 xcode-build-server 开发服务器。

这将允许 sourcekit-LSP 在没有 Xcode 的情况下运行,因此你会得到一些功能,比如跳转到定义、查看引用和调用树分析等等。你可以在 Xcode 中编辑代码时获得的几乎所有功能,在 Cursor 中也可以用。

一个带有运行的 Xcode 构建服务器的代码编辑器。

接下来,xcbeautify

使用 Homebrew 安装 xcbeautify 工具
brew install xcbeautify

在 Cursor 终端里,xcodebuild 的输出会格式化显示。

在使用 xcpretty 构建时的终端光标

还有这个工具 SwiftFormat,如果你还没有的话。

试试这个命令 brew install swiftformat,它能帮你安装一个叫做swiftformat的工具,用来格式化Swift代码。

然后启动Cursor程序,打开扩展程序选项卡,安装即可。

所以你会得到代码高亮,包括Swift语言的所有特性。

Sweetpad 是让我们在 Xcode GUI 之外的流程运行顺畅的关键工具。你可以逛一逛它的官网,熟悉它的各种功能、快捷键和工作原理。本文会介绍一些内容,但不会涵盖所有细节。

Sweetpad 扩展功能列表

Sweetpad 将一堆快捷方式围绕在 xcodebuild 命令行工具(以及更多功能)周围,并允许你扫描目标配置、选择平台、构建和运行你的应用,就像在 Xcode 中一样。除此之外,它还会帮你配置 Xcode 构建服务器,让你享受到所有这些功能。

安装好Sweetpad后,使用快捷键 CMD+SHIFT+P 打开命令面板,然后选择。

甜垫:生成构建服务器的配置

这会在你的项目目录根目录生成一个 buildServer.json 文件,并让 Xcode 构建服务器能够与你的项目目录一起工作。

完成之后,你可以点击构建和运行(你可以通过命令调色板或在Cursor的Sweetpad标签页中来操作)。记得把Sweetpad标签页固定住。在那里,你可以浏览所有目标并运行任意一个。

至少试建一次项目很重要,这样可以让你体验到自动完成、跳转到引用等等功能。

从那里开始,你现在可以使用F5键附加调试器。你可能需要为调试模式创建一个启动配置,但在提示时选择Sweetpad即可。然后你可以先构建并运行应用,之后再附加调试器。或者你可以直接使用“运行和调试”选项卡中的“附加到运行中的应用”功能来构建并运行应用。如果你的应用没有运行,它会先为你构建并运行应用,然后再附加调试器。

调试器运行时,光标停在断点上。

您将获得 Xcode 中的所有功能,以及更多功能!您可以设置断点,查看调用栈,查看或打印变量,跳到下一行等。

你的 ./vscode/launch.json 文件应该如下所示:

{
    "version": "0.2.0",
    "configurations": [

        {
            "type": "sweetpad-lldb",
            "request": "launch",
            "name": "附加到运行中的 SweetPad 应用",
            "preLaunchTask": "启动 SweetPad"
        }
    ]
}
Cursor 都有哪些功能呢?

完成以上所有步骤后,我们就可以开始编写代码了。而这时,Cursor相比Xcode,就更能展示它的独特优势。

光标标签

虽然标准的 SourceKit 自动完成功能挺好,但 Cursor 有自己基于 AI 的自动完成功能,能预判你下一步的编辑。它还会索引你的项目并在其自定义模型上进行嵌入,所以你可以获得专为你的项目定制的代码补全。

在我的情况下,当我开始开发新功能的时候,Cursor几乎能准确地猜到我下一步要写的内容,我只需按下 tab 键。请看上面的例子,它添加了一个带有三个按钮的区域来过滤通知,它从我在模型和API方面的操作中获取了上下文,并自动生成了UI代码(以及大部分的HTTP代码)。

这根本不是一回事;当你修改了某些代码中的逻辑或命名时,它会智能地调整相关代码以适应你的新逻辑或命名。它会提示你附近的更改,你可以按 tab 键来应用更改并跳到下一个更改。

这个功能对我来说就是一个游戏规则的颠覆者。它写代码的速度快得多了。更重要的是,仍然是我的代码,保留了我的风格,适合项目。当然,有时候我需要调整一部分,但大多数时候,它都能很好地融入项目。

内联编辑

在空行上按下 CMD+K 可以生成与任何提示相关的上下文代码。或者在现有代码行按下 CMD+K,这将把相应的代码段插入到提示里。之后你可以编写一个提示,要求重写或者你想要的任何修改。

聊天室

接下来的一个超赞的功能是聊天。无论何时你有关于编程或当前文件或多文件的问题,只需按下 CMD+L 就可以打开聊天面板。

聊天窗口

在那里,你可以选择你想要对话的模型(所有模型都包含在Cursor订阅内),嵌入任何代码片段,添加文件到当前上下文中。

我经常用它来讨论建筑学或者理解代码为什么会这样或那样运行。当然,你可以使用像ChatGPT或Claude这样的网络界面,但Cursor允许你在不切换上下文的情况下完成这些操作,直接在你的代码编辑器中,并有许多快捷方式可以轻松嵌入你当前的代码。对我来说,这就是为什么用它编码更好更快的原因。

在上文提到的例子中,我想要检查是否存在Swift的并发重入问题。我们反复交流,探讨了如何防止这个问题或优化代码。

你可以用@键几乎嵌入任何东西到你的问题里。

在那里,一旦你对代码建议满意,然后你可以点击应用按钮,Cursor会将其作为git diff来应用,你可以选择部分接受或拒绝,甚至进一步编辑等。

作曲的人

这个功能类似于聊天,但非常有用,特别是在想要批量编辑或生成多个文件时。不过我还没有像我应该的那样频繁使用它,但例如,如果你打算从头开始创建新项目,一个非常详细的说明可能会非常有帮助。

那我先停在这里好了;虽然这可能没有我期望的那么深入,因为我写的时间有限,但我希望你会喜欢这个新的看待用其他编辑器而不是Xcode来处理你的iOS项目的视角。

如果你想了解更多,我听说Rudrank正在tabtocode.com写一本书,如果你对这感兴趣,一定要买一本。

🚀 祝你编码愉快!

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消