- 在 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 就能成为项目元老了
- 近期比赛数据和比赛的题目通过中文官网在线获取
- 国际站并无对应api,因此即使在国际站点下也是通过中文站点获取的数据,同时由于没有登录参数,可能存在无法获取数据的情况。
// @lcpr case=start
// "PAYPALISHIRINGGGG"\n3\n
// @lcpr case=end
- 以 @lcpr case=start 开头
- 第二行存放原本手动填写测试用例
- 以 @lcpr case=end 结尾
- 简单的比较这些用例字符串是否相同
- 查看一个题目时会开始计时,提交一个题目通过后会停止计时
- 使用谷歌浏览器或者其他浏览器
- F12 查看登录国际站后的请求
- 选中复制最后一个 graphql 请求
- 右键->复制-> 以 cURL(bash)格式复制
- 插件登录选择 使用 cURL Cookie 方式登录,输入账号,输入复制来的 cURL(bash)格式请求数据
- 例子 cpp 2544 题为例
// @lcpr-div-debug-arg-start // funName= alternateDigitSum // paramTypes= ["number"] // @lcpr-div-debug-arg-end
- diy 参数说明
- funName:函数名,既本次解决方法的函数名
- paramTypes:函数的输入参数,是一个字符串数组类型
- 可填入内容为以下字符串
- "number"
- 类型说明:数字
- "number[]"
- 类型说明:数字数组
- "number[][]"
- 类型说明:数字二维数组
- "string"
- 类型说明:字符串
- "string[]"
- 类型说明:字符串数组
- "string[][]"
- 类型说明:字符串二维数组
- "ListNode"
- 类型说明:链表
- "ListNode[]"
- 类型说明:链表数组
- "character"
- 类型说明:字节
- "character[]"
- 类型说明:字节数组
- "character[][]"
- 类型说明:字节二维数组
- "NestedInteger[]"
- 类型说明:数组
- "MountainArray"
- 类型说明:数组
- "TreeNode"
- 类型说明:树节点
- "number"
- 可填入内容为以下字符串
- 重复做 x 天之前的题目(正确提交后 x 天再做本题)
- 重复练习可以提高水平?(待定验证)
- 有什么学习方法可以与我交流,这个方法我也不知道有没有用
-
目录说明
workspace/ 工作目录
.lcpr_data/ 存数据
bricks.json
remark 备注数据
qid 备注 remark 数据
group.json
{
version: 1,
all_bricks: {
[qid]: {
submit_time: [], // 上次提交的时间
type: 1, // 类型
},
},
};
{
"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` | 指定是否显示付费题目,只有付费账户才可以打开付费题目 | false |
leetcode-problem-rating.defaultLanguage | 指定答题时使用的默认语言,可选语言有:bash , c , cpp , csharp , golang , java , javascript , kotlin , mysql , php , python ,python3 ,ruby , rust , scala , swift , typescript |
N/A |
leetcode-problem-rating.useWsl | 指定是否启用 WSL | false |
leetcode-problem-rating.endpoint | 指定使用的终端,可用终端有:leetcode , leetcode-cn |
leetcode.cn |
leetcode-problem-rating.workspaceFolder | 指定保存文件的工作区目录例如/home/${USERNAME}/leetcode, 现在会尝试从系统环境变量读取 USERNAME 对应的值, 例如环境变量中 USERNAME 是 ccagml,那么就会是/home/ccagml/leetcode 录 | "" |
leetcode-problem-rating.workspaceFolderList | 多个等待选择的工作区目录,如果 workspaceFolder 目录不存在,尝试从 workspaceFolderList 选取可用目录 | ["path1", "path2"] |
leetcode-problem-rating.filePath | 指定生成题目文件的相对文件夹路径名和文件名。点击查看更多详细用法。 额外拓展${yyyymmdd}对应年月日 20230720、${timestamp}对应时间戳格式、${cn_name}题目的中文名称 | |
leetcode-problem-rating.enableStatusBar | 指定是否在 VS Code 下方显示插件状态栏。 增加周赛分数据 | true |
leetcode-problem-rating.editor.shortcuts | 指定在编辑器内所自定义的快捷方式。可用的快捷方式有: submit , test , star , solution , description , case, allcase 。 |
["submit, case, allcase, test, solution"] |
leetcode-problem-rating.enableSideMode | 指定在解决一道题时,是否将问题预览 、高票答案 与提交结果 窗口集中在编辑器的第二栏。 |
true |
leetcode-problem-rating.nodePath | 指定 Node.js 可执行文件的路径。如:C:\Program Files\nodejs\node.exe |
node |
leetcode-problem-rating.showCommentDescription | 指定是否要在注释中显示题干。 | false |
leetcode-problem-rating.useEndpointTranslation | 是否显示翻译版本内容。 | 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