Skip to content

senshinya/vscode-leetcode

 
 

Repository files navigation

LeetCode

在 VS Code 中练习 LeetCode

❗️ 注意 ❗️- 无法登录 LeetCode 节点的临时解决办法

注意:如果使用的是 leetcode.cn 账户,可以跳过此段落。

近期我们发现插件出现了无法登录 leetcode.com 节点的问题。原因是因为近期 leetcode.com 改变了登录机制,目前我们暂时没有找到解决该问题的完美解决方案。

感谢 @yihong0618 提供了一个临时解决办法。现在你可以直接点击登录按钮并选择第三方登录或者 Cookie 登录。

注意:如果你希望使用第三方登录(推荐),请确保你的账户已经与第三方账户连接。如果你希望通过 Cookie 登录,请点击该连接查看登录步骤。

运行条件

  • VS Code 1.23.0+
  • Node.js 10+

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

快速开始

demo

功能

登入登出

登入登出

  • 点击 LeetCode Explorer 中的 Sign in to LeetCode 即可登入。

  • 你也可以使用下来命令登入或利用 cookie 登入或登出:

    • LeetCode: Sign in
    • LeetCode: Sign out

切换 LeetCode 版本

切换 LeetCode 版本

  • LeetCode 目前有英文版中文版两种版本。点击 LeetCode Explorer 导航栏中的 btn_endpoint 按钮可切换版本。

  • 目前可切换的版本有:

    • leetcode.com
    • leetcode.cn

    注意:两种版本的 LeetCode 账户并不通用,请确保当前激活的版本是正确的。插件默认激活的是英文版


选择题目

选择题目

  • 直接点击题目或者在 LeetCode Explorer右键题目并选择 Preview Problem 可查看题目描述

  • 选择 Show Problem 可直接进行答题。

    注意:你可以通过更新配置项 leetcode.workspaceFolder 来指定保存题目文件所用的工作区路径。默认工作区路径为:$HOME/.leetcode/

    注意:你可以通过更新配置项 leetcode.showCommentDescription 来指定是否要在注释中包含题目描述。

    注意:你可以通过 LeetCode: Switch Default Language 命令变更答题时默认使用编程语言。


编辑器快捷方式

Editor Shortcuts

  • 插件会在编辑区域内支持五种不同的快捷方式(Code Lens):

    • Submit: 提交你的答案至 LeetCode;
    • Test: 用给定的测试用例测试你的答案;
    • Star: 收藏或取消收藏该问题;
    • Solution: 显示该问题的高票解答;
    • Description: 显示该问题的题目描述。

    注意:你可以通过 leetcode.editor.shortcuts 配置项来定制需要激活的快捷方式。默认情况下只有 SubmitTest 会被激活。


通过关键字搜索题目

通过关键字搜索题目

  • 点击 LeetCode Explorer 导航栏中的 btn_search 按钮可按照关键字搜索题目。

管理存档

管理存档

  • 点击位于 VS Code 底部状态栏的 LeetCode: *** 管理 LeetCode 存档。你可以切换存档或者创建删除存档。

本地进度追踪

插件支持本地进度追踪功能,允许你独立于 LeetCode 远程状态来追踪学习进度。

  • 创建进度:使用命令 LeetCode: Create Progress 创建新的本地进度。进度文件存储在工作区的 .leetcode/progress/ 目录下。

  • 选择进度:使用 LeetCode: Select Progress 在不同进度之间切换,或取消选择以使用远程状态。

  • 追踪完成状态:当进度处于激活状态时:

    • 题目完成状态从本地进度文件读取
    • 成功提交的题解会自动保存到进度中
    • 使用 LeetCode: Mark as CompletedLeetCode: Mark as Uncompleted 手动更新题目状态
  • 防剧透模式:当进度激活且查看未完成的题目时,网页题解会被隐藏以避免剧透。

  • 管理进度:使用 LeetCode: List Progresses 查看所有进度,或使用 LeetCode: Delete Progress 删除进度。

注意:进度数据以 JSON 格式存储在本地,与你的 LeetCode 账户无关。

插件配置项

配置项名称 描述 默认值
leetcode.hideSolved 指定是否要隐藏已解决的问题 false
leetcode.defaultLanguage 指定答题时使用的默认语言,可选语言有:bash, c, cpp, csharp, golang, java, javascript, kotlin, mysql, php, python,python3,ruby, rust, scala, swift, typescript N/A
leetcode.useWsl 指定是否启用 WSL false
leetcode.endpoint 指定使用的终端,可用终端有:leetcode, leetcode-cn leetcode
leetcode.workspaceFolder 指定保存文件的工作区目录 ""
leetcode.filePath 指定生成题目文件的相对文件夹路径名和文件名。点击查看更多详细用法
leetcode.enableStatusBar 指定是否在 VS Code 下方显示插件状态栏。 true
leetcode.editor.shortcuts 指定在编辑器内所自定义的快捷方式。可用的快捷方式有: submit, test, star, solution, description ["submit, test"]
leetcode.enableSideMode 指定在解决一道题时,是否将问题预览高票答案提交结果窗口集中在编辑器的第二栏。 true
leetcode.nodePath 指定 Node.js 可执行文件的路径。如:C:\Program Files\nodejs\node.exe node
leetcode.showCommentDescription 指定是否要在注释中显示题干。 false
leetcode.useEndpointTranslation 是否显示翻译版本内容。 true
leetcode.allowReportData 为了更好的产品体验允许上报用户埋数据 true

需要帮助?

在遇到任何问题时,可以先查看一下疑难解答以及常见问题寻求帮助。

如果您的问题依然没有解决,可以在 Gitter Channel 联系我们,或者您也可以记录一个新的 issue

更新日志

请参考更新日志

鸣谢

About

支持本地进度的 leetcode vscode 插件,基于官方插件二开

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%