Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>LeetCodeNew to Visual Studio Code? Get it now.
LeetCode

LeetCode

Preview

ccagml

|
40,172 installs
| (14) | Free
在 VSCode 上做LeetCode题的插件, GitHub 开源,给个 star 吧~
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

概要设计

  • 在 VS Code 中解决 Leetcode 问题
  • Leetcode 只提供了简单、中等、困难的难度区分。题目与题目之间难度差别很大,因此需要客观的分数对题目难度进行打分
  • 增加中文官方的每日一题
  • 修复 tag 分类错误
  • 增加精选分类
  • 增加剑指 Offer、面试金典相关内容
  • 增加一键提交全部题目测试用例功能
  • 尝试不需要额外安装 node 环境,使用 vscode 自带的 node 版本
  • 从zerotrac.github.io获取数据进行缓存,数据更新时,可以尝试使用 deleteAllCache,重新获取数据
  • 新增区块测试用例
  • 新增搬砖功能(重复练习?)
  • 状态栏增加简易计时器
  • 新增一个 remark 功能
  • 新增题目自定义分类
  • 答案不同上色,配置默认不开启
  • 增加获取中文站的题解
  • 增加 cpp、js、py3 一些题目的 debug(参考 wangtao0101 项目,有问题提 issues)
  • 有些题目原插件无法调试,请尝试配置区域调试参数
  • [国际站修改登录方式 cRUL 方式登录](#cRUL 登录)

关于本项目

  • 项目地址:https://github.com/ccagml/leetcode-extension/
  • 报告问题
  • 疑难解答
  • 常见问题
  • 趁着现在只有提交一个 PR 就能成为项目元老了

快速开始

quickstart

tag 分类

tag

查询功能

search

区块测试用例

例子(cpp 文件为例)

// @lcpr case=start
// "PAYPALISHIRINGGGG"\n3\n
// @lcpr case=end

说明

  • 以 @lcpr case=start 开头
  • 第二行存放原本手动填写测试用例
  • 以 @lcpr case=end 结尾

一键提交的用例去重

  • 简单的比较这些用例字符串是否相同

状态栏增加简易计时器

  • 查看一个题目时会开始计时,提交一个题目通过后会停止计时

国际站 cRUL 登录

  • 使用谷歌浏览器或者其他浏览器
  • F12 查看登录国际站后的请求
  • 选中复制最后一个 graphql 请求
  • 右键->复制-> 以 cURL(bash)格式复制
  • 插件登录选择 使用 cURL Cookie 方式登录,输入账号,输入复制来的 cURL(bash)格式请求数据

区域调试参数的一些说明

如果有些题目无法 debug,请尝试配置 diy 参数区

  1. 例子 cpp 2544 题为例
    // @lcpr-div-debug-arg-start
    // funName= alternateDigitSum
    // paramTypes= ["number"]
    // @lcpr-div-debug-arg-end
    
  2. diy 参数说明
  • funName:函数名,既本次解决方法的函数名
  • paramTypes:函数的输入参数,是一个字符串数组类型
    • 可填入内容为以下字符串
      • "number"
        • 类型说明:数字
      • "number[]"
        • 类型说明:数字数组
      • "number[][]"
        • 类型说明:数字二维数组
      • "string"
        • 类型说明:字符串
      • "string[]"
        • 类型说明:字符串数组
      • "string[][]"
        • 类型说明:字符串二维数组
      • "ListNode"
        • 类型说明:链表
      • "ListNode[]"
        • 类型说明:链表数组
      • "character"
        • 类型说明:字节
      • "character[]"
        • 类型说明:字节数组
      • "character[][]"
        • 类型说明:字节二维数组
      • "NestedInteger[]"
        • 类型说明:数组
      • "MountainArray"
        • 类型说明:数组
      • "TreeNode"
        • 类型说明:树节点

搬砖功能的说明

功能设想

  • 重复做 x 天之前的题目(正确提交后 x 天再做本题)
  • 重复练习可以提高水平?(待定验证)
  • 有什么学习方法可以与我交流,这个方法我也不知道有没有用

新增在工作目录存放数据

  • 目录说明

    workspace/ 工作目录

    .lcpr_data/ 存数据

    bricks.json

    remark 备注数据

    qid 备注 remark 数据

    group.json

bricks.json 存放格式

{
   version: 1,
   all_bricks: {
     [qid]: {
        submit_time: [], // 上次提交的时间
        type: 1, // 类型
     },
   },
 };

group.json 存放格式

{
    "version": 1,
    "all_group": [
        {
            "name": "www",  // 分类名称
            "time": 1669791273308, // 分类编号
            "qid_list": [   // 该分类的题目qid
                "1000229",
                "1000231"
            ]
        }
    ]
}

运行条件

  • VS Code 1.57.0+
  • Node.js 10+

    注意:请确保Node在PATH环境变量中。您也可以通过设定 leetcode.nodePath 选项来指定 Node.js 可执行文件的路径。

插件配置项

| 配置项名称显示红色为与官方配置有不同的地方 | 描述 | 默认值 | | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | | leetcode-problem-rating.hideSolved | 指定是否要隐藏已解决的问题 | false | | leetcode-problem-rating.bricksReviewDay | 设置x天后复习 | [1,4,7,14,28,60 ] | | leetcode-problem-rating.showLocked</font> | 指定是否显示付费题目,只有付费账户才可以打开付费题目 |false | | <font color=red>leetcode-problem-rating.defaultLanguage</font> | 指定答题时使用的默认语言,可选语言有:bash, c, cpp, csharp, golang, java, javascript, kotlin, mysql, php, python,python3,ruby, rust, scala, swift, typescript |N/A | | <font color=red>leetcode-problem-rating.useWsl</font> | 指定是否启用 WSL |false | | <font color=red>leetcode-problem-rating.endpoint</font> | 指定使用的终端,可用终端有:leetcode, leetcode-cn | <font color=red>leetcode.cn</font> | | <font color=red>leetcode-problem-rating.workspaceFolder</font> | 指定保存文件的工作区目录例如/home/${USERNAME}/leetcode, 现在会尝试从系统环境变量读取 USERNAME 对应的值, 例如环境变量中 USERNAME 是 ccagml,那么就会是/home/ccagml/leetcode 录 |"" | | <font color=red>leetcode-problem-rating.workspaceFolderList</font> | 多个等待选择的工作区目录,如果 workspaceFolder 目录不存在,尝试从 workspaceFolderList 选取可用目录 |["path1", "path2"] | | <font color=red>leetcode-problem-rating.filePath</font> | 指定生成题目文件的相对文件夹路径名和文件名。点击查看[更多详细用法](https://github.com/LeetCode-OpenSource/vscode-leetcode/wiki/%E8%87%AA%E5%AE%9A%E4%B9%89%E9%A2%98%E7%9B%AE%E6%96%87%E4%BB%B6%E7%9A%84%E7%9B%B8%E5%AF%B9%E6%96%87%E4%BB%B6%E5%A4%B9%E8%B7%AF%E5%BE%84%E5%92%8C%E6%96%87%E4%BB%B6%E5%90%8D)。 额外拓展\${yyyymmdd}对应年月日 20230720、\${timestamp}对应时间戳格式、\${cn_name}题目的中文名称 | | | <font color=red>leetcode-problem-rating.enableStatusBar</font> | 指定是否在 VS Code 下方显示插件状态栏。 <font color=red>增加周赛分数据</font> |true | | <font color=red>leetcode-problem-rating.editor.shortcuts</font> | 指定在编辑器内所自定义的快捷方式。可用的快捷方式有:submit, test, star, solution, description, <font color=red>case</font>, <font color=red>allcase</font> 。 | <font color=red>["submit, case, allcase, test, solution"]</font> | | <font color=red>leetcode-problem-rating.enableSideMode</font> | 指定在解决一道题时,是否将问题预览、高票答案与提交结果窗口集中在编辑器的第二栏。 | true | | <font color=red>leetcode-problem-rating.nodePath</font> | 指定Node.js可执行文件的路径。如:C:\Program Files\nodejs\node.exe |node | | <font color=red>leetcode-problem-rating.showCommentDescription</font> | 指定是否要在注释中显示题干。 |false | | <font color=red>leetcode-problem-rating.useEndpointTranslation</font> | 是否显示翻译版本内容。 |true` | | leetcode-problem-rating.sortStrategy | 排序的选项。Acceptance Rate (Ascending):通过率递增 Acceptance Rate (Descending):通过率递减 Score (Ascending):分数递增 Score (Descending):分数递减 | None | | leetcode-problem-rating.pickOneByRankRangeMin | 随机一题的最小浮动,随机一题最低分(你的竞赛分+本配置)。 | 50 | | leetcode-problem-rating.pickOneByRankRangeMax | 随机一题的最大浮动,随机一题最高分(你的竞赛分+本配置)。 | 150 | | leetcode-problem-rating.hideScore | 隐藏分数相关的题目。Score:隐藏有分数的题目, NoScore:隐藏没有分数的题目, ScoreRange:隐藏分数范围外的题目 | None | | leetcode-problem-rating.useVscodeNode | 默认情况下使用 VsCode 自带 Node 环境,不需要额外安装 Node 环境 | true | | leetcode-problem-rating.answerDiffColor | 答案不同的地方上色 | false |

更新日志

请参考更新日志

鸣谢

  • 本插件基于LeetCode-OpenSource的vscode-leetcode
  • 题目分数数据基于zerotrac的leetcode_problem_rating每周的更新
  • 插件 debug 参考wangtao0101
  • 插件 使用谷歌浏览器复制为 cUrl 方式登录 参考StevenJohnston
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft