vscode-leetcode

Solve LeetCode problems in VS Code

Github stars Tracking Chart

LeetCode

Solve LeetCode problems in VS Code

❗️ Attention ❗️- Workaround to login to LeetCode endpoint

Note: If you are using leetcode-cn.com, you can just ignore this section.

Recently we observed that the extension cannot login to leetcode.com endpoint anymore. The root cause of this issue is that leetcode.com changed its login mechanism and so far there is no ideal way to fix that issue.

Thanks for @yihong0618 provided a workaround which can somehow mitigate this. Now you can simply click the Sign In button and then select Third Party login or Cookie login.

Note: If you want to use third-party login(Recommended), please make sure your account has been connected to the thrid-party. If you want to use Cookie login, click here to see the steps.

Requirements

  • VS Code 1.30.1+
  • Node.js 8+

    NOTE: Please make sure that Node is in your PATH environment variable. You can also use the setting leetcode.nodePath to specify the location of your Node.js executable.

Quick Start

demo

Features

Sign In/Out

  • Simply click Sign in to LeetCode in the LeetCode Explorer will let you sign in with your LeetCode account.

  • You can also use the following command to sign in/out:

    • LeetCode: Sign in
    • LeetCode: Sign out

Switch Endpoint

  • By clicking the button btn_endpoint at the explorer's navigation bar, you can switch between different endpoints.

  • The supported endpoints are:

    • leetcode.com
    • leetcode-cn.com

    Note: The accounts of different endpoints are not shared. Please make sure you are using the right endpoint. The extension will use leetcode.com by default.


Pick a Problem

  • Directly click on the problem or right click the problem in the LeetCode Explorer and select Preview Problem to see the problem description.

  • Select Show Problem to directly open the file with the problem description.

    Note:You can specify the path of the workspace folder to store the problem files by updating the setting leetcode.workspaceFolder. The default value is:$HOME/.leetcode/.

    You can specify whether including the problem description in comments or not by updating the setting leetcode.showCommentDescription.

    You can switch the default language by triggering the command: LeetCode: Switch Default Language.


Editor Shortcuts

  • The extension supports 4 editor shortcuts (aka Code Lens):

    • Submit: Submit your answer to LeetCode.
    • Test: Test your answer with customized test cases.
    • Solution: Show the top voted solution for the current problem.
    • Description: Show the problem description page.

    Note: You can customize the shortcuts using the setting: leetcode.editor.shortcuts. By default, only Submit and Test shortcuts are enabled.


Search problems by Keywords

  • By clicking the button btn_search at the explorer's navigation bar, you can search the problems by keywords.

Manage Session

  • To manage your LeetCode sessions, just clicking the LeetCode: *** at the bottom of the status bar. You can switch between sessions or create, delete a session.

Settings, Setting Name, Description, Default Value, ---------------------------------------------------------------------------------------, ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------, ------------------, leetcode.hideSolved, Specify to hide the solved problems or not, false, leetcode.showLocked, Specify to show the locked problems or not. Only Premium users could open the locked problems, false, leetcode.defaultLanguage, Specify the default language used to solve the problem. Supported languages are: bash, c, cpp, csharp, golang, java, javascript, kotlin, mysql, php, python,python3,ruby,rust, scala,swift, N/A, leetcode.useWsl, Specify whether to use WSL or not, false, leetcode.endpoint, Specify the active endpoint. Supported endpoints are: leetcode, leetcode-cn, leetcode, leetcode.workspaceFolder, Specify the path of the workspace folder to store the problem files., "", leetcode.filePath, Specify the relative path under the workspace and the file name to save the problem files. More details can be found here., [Deprecated] Use leetcode.filePath instead leetcode.outputFolder, Specify the relative path to save the problem files. Besides using customized path, there are also several reserved words which can be used here: ${tag}: Categorize the problem according to their tags.${language}: Categorize the problem according to their language.${difficulty}: Categorize the problem according to their difficulty.For example: problem-${tag}-${difficulty}, N/A, leetcode.enableStatusBar, Specify whether the LeetCode status bar will be shown or not., true, [Deprecated] Use leetcode.editor.shortcuts instead leetcode.enableShortcuts, Specify whether the submit and test shortcuts in editor or not., true, leetcode.editor.shortcuts, Specify the customized shorcuts in editors. Supported values are: submit, test, solution and description., ["submit, test"], leetcode.enableSideMode, Specify whether preview, solution and submission tab should be grouped into the second editor column when solving a problem., true, leetcode.nodePath, Specify the Node.js executable path. for example, C:\Program Files\nodejs\node.exe, node, leetcode.showCommentDescription, Specify whether to include the problem description in the comments, false, ## Want Help?

When you meet any problem, you can check out the Troubleshooting and FAQ first.

If your problem still cannot be addressed, feel free to reach us in the Gitter Channel or file an issue.

Release Notes

Refer to CHANGELOG

Acknowledgement

Overview

Name With OwnerLeetCode-OpenSource/vscode-leetcode
Primary LanguageTypeScript
Program languageTypeScript (Language Count: 1)
Platform
License:MIT License
Release Count43
Last Release Namev0.18.1 (Posted on 2022-05-09 18:07:24)
First Release Namev0.1.0 (Posted on 2018-02-21 19:15:00)
Created At2018-02-11 13:23:36
Pushed At2024-04-29 10:07:40
Last Commit At2022-05-09 18:22:22
Stargazers Count8.1k
Watchers Count88
Fork Count629
Commits Count264
Has Issues Enabled
Issues Count695
Issue Open Count282
Pull Requests Count186
Pull Requests Open Count31
Pull Requests Close Count29
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top