# LeetCode > Solve LeetCode problems in VS Code

## Sponsor [![coding](https://raw.githubusercontent.com/jdneo/vscode-leetcode/master/docs/imgs/sponsor_coding.png)](https://coding.net/?utm_source=leetcode) - [English Document](#Requirements) - [中文文档](https://github.com/jdneo/vscode-leetcode/blob/master/docs/README_zh-CN.md) ## Requirements - [VS Code 1.30.1+](https://code.visualstudio.com/) - [Node.js 8+](https://nodejs.org) > 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](https://raw.githubusercontent.com/jdneo/vscode-leetcode/master/docs/gifs/demo.gif) ## Features ### Sign In/Out

Sign in

- 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

Switch Endpoint

- By clicking the button ![btn_endpoint](https://raw.githubusercontent.com/jdneo/vscode-leetcode/master/docs/imgs/btn_endpoint.png) 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

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: 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`. --- ### Show Top Voted Solution

Show Top Voted Solution

- Select `Show Top Voted Solution` will display the top voted solution for you. --- ### Submit the Answer

Submit the Answer

- You can submit the answer by clicking `Submit` at the bottom of the file. Or you can right click in the editor and select `Submit to LeetCode`. > If you want to hide the shortcuts showing in the editor, just simply set the setting `leetcode.enableShortcuts` to false. --- ### Test the Answer

Test the Answer

- You can test the answer by clicking `Test` at the bottom of the file. Or you can right click in the editor and select `Test in LeetCode`. - There are 3 ways to test the answer: - **Test with the default cases** - **Write test cases in input box** - **Test with the written cases in file** --- ### Search problems by Keywords

Search problems by Keywords

- By clicking the button ![btn_search](https://raw.githubusercontent.com/jdneo/vscode-leetcode/master/docs/imgs/btn_search.png) at the **explorer's navigation bar**, you can search the problems by keywords. --- ### Manage Session

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** a new 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: | N/A | | `leetcode.enableStatusBar` | Specify whether the LeetCode status bar will be shown or not. | `true` | | `leetcode.enableShortcuts` | Specify whether the submit and test shortcuts in editor or not. | `true` | | `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](https://github.com/jdneo/vscode-leetcode/wiki/Troubleshooting) and [FAQ](https://github.com/jdneo/vscode-leetcode/wiki/FAQ) first. If your problem still cannot be addressed, feel free to reach us in the [Gitter Channel](https://gitter.im/vscode-leetcode/Lobby) or [file an issue](https://github.com/jdneo/vscode-leetcode/issues/new/choose). ## Release Notes Refer to [CHANGELOG](https://github.com/jdneo/vscode-leetcode/blob/master/CHANGELOG.md) ## Acknowledgement - This extension is based on [@skygragon](https://github.com/skygragon)'s [leetcode-cli](https://github.com/skygragon/leetcode-cli) open source project. - Special thanks to our [contributors](https://github.com/jdneo/vscode-leetcode/blob/master/ACKNOWLEDGEMENTS.md).