LeetCode
Solve LeetCode problems in VS Code
Sponsor
Requirements
- VS Code 1.30.1+
- Node.js 8+
NOTE: Please make sure that
Node
is in yourPATH
environment variable. You can also use the settingleetcode.nodePath
to specify the location of yourNode.js
executable.
Quick Start
Features
Sign In/Out
-
Simply click
Sign in to LeetCode
in theLeetCode 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
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 selectPreview Problem
to see the problem description. -
Select
Show Problem
to directly open the file with the problem description.Note: If no folder is opened in VS Code, the extension will save the problem files in $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, onlySubmit
andTest
shortcuts are enabled.
Search 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.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:
problem-${tag}-${difficulty} |
N/A |
leetcode.enableStatusBar |
Specify whether the LeetCode status bar will be shown or not. | true |
(Deprecated) 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. |
node |
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
- This extension is based on @skygragon's leetcode-cli open source project.
- Special thanks to our contributors.