Skip to content

cheng-ren/LeetcodeForXcode

Repository files navigation

LeetCode Swift Extension

一个为 Xcode 和 macOS 打造的 LeetCode 刷题插件,专为 Swift 开发者设计。

功能特性

📱 菜单栏应用

  • ✅ 登录 LeetCode.cn 账户
  • ✅ 浏览和搜索题库
  • ✅ 快速下载题目(自动创建 Swift 文件和题目描述)
  • ✅ 查看每日一题
  • ✅ 查看竞赛信息
  • ✅ 管理题目保存路径

🔧 Xcode Extension

  • ✅ 右键菜单:查看题目描述
  • ✅ 右键菜单:运行测试用例
  • ✅ 右键菜单:提交代码到 LeetCode

系统要求

  • macOS 12.0+
  • Xcode 14.0+
  • Swift 5.7+

安装步骤

1. 克隆仓库

```bash git clone https://github.com/yourusername/Leetcode_extension.git cd Leetcode_extension ```

2. 打开项目

用 Xcode 打开 LeetCodeSwift.xcodeproj 文件。

3. 配置开发团队

在 Xcode 中:

  1. 选择项目文件
  2. 选择 "LeetCodeSwift" target
  3. 在 "Signing & Capabilities" 选项卡中选择你的开发团队
  4. 对 "LeetCodeExtension" target 重复上述步骤

4. 构建和运行

  1. 选择 "LeetCodeSwift" scheme
  2. 点击运行 (⌘R)
  3. 菜单栏会出现 LeetCode 图标

5. 启用 Xcode Extension

  1. 打开 "系统偏好设置" → "扩展" → "Xcode Source Editor"
  2. 勾选 "LeetCode Extension"
  3. 重启 Xcode

使用指南

菜单栏应用使用

  1. 登录

    • 点击菜单栏图标
    • 输入 LeetCode.cn 的用户名和密码
    • 点击"登录"
  2. 浏览题目

    • 切换到"题库"标签
    • 使用搜索框搜索题目
    • 点击下载按钮下载题目
  3. 每日一题

    • 切换到"每日一题"标签
    • 查看今日推荐题目
    • 点击下载按钮
  4. 设置保存路径

    • 切换到"设置"标签
    • 点击"选择"按钮选择题目保存路径
    • 建议选择你的 LeetCode 项目的"所有题目"文件夹

Xcode Extension 使用

在 Xcode 中打开题目的 Swift 文件后:

  1. 查看题目描述

    • 右键点击编辑器
    • 选择 "LeetCode Extension" → "查看题目描述"
    • 将自动打开对应的 Markdown 文件
  2. 运行测试用例

    • 完成代码编写
    • 右键点击编辑器
    • 选择 "LeetCode Extension" → "运行测试用例"
    • 查看运行结果
  3. 提交代码

    • 确认代码无误
    • 右键点击编辑器
    • 选择 "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
  • 需要文件读写权限

调试

  1. 调试菜单栏应用

    • 选择 "LeetCodeSwift" scheme
    • 正常运行调试
  2. 调试 Xcode Extension

    • 选择 "LeetCodeExtension" scheme
    • 运行时会启动 Xcode 的另一个实例
    • 在新的 Xcode 中打开测试项目测试扩展

常见问题

Q: 扩展没有出现在 Xcode 右键菜单?

A:

  1. 确认已在系统偏好设置中启用扩展
  2. 重启 Xcode
  3. 确认在 Swift 文件中右键点击

Q: 提交代码失败?

A:

  1. 确认已在菜单栏应用中登录
  2. 确认文件名和题目标题匹配
  3. 检查网络连接

Q: 下载的题目保存在哪里?

A: 在菜单栏应用的"设置"中可以查看和修改保存路径。

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License

致谢

  • 感谢 LeetCode.cn 提供的刷题平台
  • 参考了 VSCode LeetCode 插件的设计思路

About

可以在Xcode中使用Swift愉快的练习Leetcode题目

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published