一个为 Xcode 和 macOS 打造的 LeetCode 刷题插件,专为 Swift 开发者设计。
- ✅ 登录 LeetCode.cn 账户
- ✅ 浏览和搜索题库
- ✅ 快速下载题目(自动创建 Swift 文件和题目描述)
- ✅ 查看每日一题
- ✅ 查看竞赛信息
- ✅ 管理题目保存路径
- ✅ 右键菜单:查看题目描述
- ✅ 右键菜单:运行测试用例
- ✅ 右键菜单:提交代码到 LeetCode
- macOS 12.0+
- Xcode 14.0+
- Swift 5.7+
```bash git clone https://github.com/yourusername/Leetcode_extension.git cd Leetcode_extension ```
用 Xcode 打开 LeetCodeSwift.xcodeproj 文件。
在 Xcode 中:
- 选择项目文件
- 选择 "LeetCodeSwift" target
- 在 "Signing & Capabilities" 选项卡中选择你的开发团队
- 对 "LeetCodeExtension" target 重复上述步骤
- 选择 "LeetCodeSwift" scheme
- 点击运行 (⌘R)
- 菜单栏会出现 LeetCode 图标
- 打开 "系统偏好设置" → "扩展" → "Xcode Source Editor"
- 勾选 "LeetCode Extension"
- 重启 Xcode
-
登录
- 点击菜单栏图标
- 输入 LeetCode.cn 的用户名和密码
- 点击"登录"
-
浏览题目
- 切换到"题库"标签
- 使用搜索框搜索题目
- 点击下载按钮下载题目
-
每日一题
- 切换到"每日一题"标签
- 查看今日推荐题目
- 点击下载按钮
-
设置保存路径
- 切换到"设置"标签
- 点击"选择"按钮选择题目保存路径
- 建议选择你的 LeetCode 项目的"所有题目"文件夹
在 Xcode 中打开题目的 Swift 文件后:
-
查看题目描述
- 右键点击编辑器
- 选择 "LeetCode Extension" → "查看题目描述"
- 将自动打开对应的 Markdown 文件
-
运行测试用例
- 完成代码编写
- 右键点击编辑器
- 选择 "LeetCode Extension" → "运行测试用例"
- 查看运行结果
-
提交代码
- 确认代码无误
- 右键点击编辑器
- 选择 "LeetCode Extension" → "提交代码"
- 查看提交结果
``` Leetcode_extension/ ├── LeetCodeSwift/ # 菜单栏应用 │ ├── App/ # 应用入口 │ ├── Views/ # SwiftUI 视图 │ ├── ViewModels/ # 视图模型 │ └── Resources/ # 资源文件 ├── LeetCodeExtension/ # Xcode 扩展 │ ├── SourceEditorExtension.swift │ ├── ViewProblemCommand.swift │ ├── RunTestCommand.swift │ └── SubmitCodeCommand.swift └── Shared/ # 共享代码 ├── Models/ # 数据模型 ├── Network/ # 网络层 ├── API/ # LeetCode API └── Utils/ # 工具类 ```
下载的题目会按以下结构组织:
``` 所有题目/ ├── 1.两数之和/ │ ├── 两数之和.swift # Swift 代码文件 │ └── 两数之和.md # 题目描述 ├── 2.两数相加/ │ ├── 两数相加.swift │ └── 两数相加.md ... ```
Swift 文件包含:
- 题目代码模板
- Solution 类(参考解法)
- SolutionTrain 类(自己的练习代码)
- 测试用例
- 标签和分类
- 需要配置 App Group:
group.com.leetcode.swift - 需要网络权限访问 LeetCode.cn
- 需要文件读写权限
-
调试菜单栏应用
- 选择 "LeetCodeSwift" scheme
- 正常运行调试
-
调试 Xcode Extension
- 选择 "LeetCodeExtension" scheme
- 运行时会启动 Xcode 的另一个实例
- 在新的 Xcode 中打开测试项目测试扩展
A:
- 确认已在系统偏好设置中启用扩展
- 重启 Xcode
- 确认在 Swift 文件中右键点击
A:
- 确认已在菜单栏应用中登录
- 确认文件名和题目标题匹配
- 检查网络连接
A: 在菜单栏应用的"设置"中可以查看和修改保存路径。
欢迎提交 Issue 和 Pull Request!
MIT License
- 感谢 LeetCode.cn 提供的刷题平台
- 参考了 VSCode LeetCode 插件的设计思路