Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>LeetCode WorkspaceNew to Visual Studio Code? Get it now.
LeetCode Workspace

LeetCode Workspace

Verak Systems

|
1 install
| (0) | Free
Solve official LeetCode problems and view real judge results in VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

LeetCode Workspace

Your editor. Your practice. One workspace.

Solve official LeetCode problems in desktop Visual Studio Code. Browse the live problem catalog, generate official starter code, run your solution locally, and review actual LeetCode judge feedback without leaving your workspace.

1.0.0 · Desktop VS Code 1.95+

Independent project. Not affiliated with or endorsed by LeetCode.

Problem viewer showing the official Two Sum statement, language selection and saved local input in a dark theme.

Problem-viewer capture from the extension's renderer using official LeetCode data. No submission or judge result is shown.

Light-theme preview

From problem to verdict

What you want to do What the extension provides
Find your next challenge Search the live catalog; combine difficulty, status, and tag filters; group by difficulty or progress.
Understand the problem Read official statements and examples in a theme-aware problem viewer.
Start coding Choose an available language and generate official starter code. Existing solution files are preserved.
Explore your solution Run with saved local input using your installed language tools; inspect terminal output and use VS Code debugging.
Check official samples Send your solution to LeetCode’s sample execution endpoint and review feedback.
Submit deliberately Submit your active solution and view the real verdict, available runtime/memory metrics, and failure diagnostics.
Stay organized Keep statements, metadata, and solutions together in folders grouped by difficulty and problem.

Passing samples is not an accepted full submission. Local execution displays your output; it does not provide a judge verdict. Nothing submits automatically.

Install

In VS Code's Extensions view, search for @id:VerakSystems.leetcode-workspace. If you have a VSIX package, install it with … → Install from VSIX:

  1. Open Extensions in desktop VS Code.
  2. Select … → Install from VSIX and choose the release package.
  3. Open a folder, then select the LeetCode activity-bar view.
  4. Trust your workspace when you want to generate files, run code locally, or transmit solutions.

Public problem browsing works without signing in. Personalized status, official sample execution, and submission require a LeetCode account.

Learn the workflow

These illustrated animations play once, have no audio, and are accompanied by complete written instructions. They show the steps rather than recordings of a live editor session.

1. Install and sign in

Three-step illustrated guide: download the VSIX, install it using Extensions → Install from VSIX, then sign in through LeetCode in your browser.

  1. Install the release package using Extensions → … → Install from VSIX.
  2. Open the LeetCode sidebar and click Sign In.
  3. Complete LeetCode authorization in your normal browser. Allow the browser to open VS Code when prompted.

LeetCode handles login and browser challenges. You do not enter a password in VS Code or copy browser cookies. The validated session is stored in VS Code SecretStorage. Use LeetCode: Validate Session to check it or LeetCode: Sign Out to remove the stored session.

Keep the original VS Code window open while authorizing. Approve the browser's Open Visual Studio Code prompt. If the page was lost or did not open, click Sign In again to reopen the same pending request. Sign Out is the exit-arrow icon beside Sign In in the LeetCode sidebar toolbar.

2. Create your first solution

Three-step illustrated guide: find a problem, choose an official language, and generate starter code.

  1. Search or filter the problem sidebar and open a problem.
  2. Use Change language to choose an available official starter language.
  3. Select Generate starter code, then edit the generated solution.* file.

Files are organized like this:

leetcode/
  easy/
    two-sum/
      README.md
      metadata.json
      solution.py

The statement and starter code come from LeetCode. Generating a solution that already exists opens it without overwriting your work. Multiple languages can share a problem directory; language variants that use the same extension require separate workspaces.

3. Run, test, and submit

Three-step illustrated guide: edit local input and run locally, test official samples, then submit and review the judge verdict.

  1. In the Problem tab, edit Local input with one JSON value per parameter per line, in signature order. Click Run locally in your solution editor. Output appears in VS Code’s terminal.
  2. Use Test on LeetCode to execute the published sample input on LeetCode. Local input does not change official sample requests.
  3. Use Submit Solution to send the active solution. The extension saves and validates the file, then shows the official verdict in the Results section of the same LeetCode tab.

Accepted full submissions update the problem’s solved status. Results include the fields LeetCode provides; missing metrics are omitted. Stop waiting cancels polling, not the server’s execution. Use Resume results or LeetCode: View Last Submission Result to continue tracking a known request.

Requirements and compatibility

Requirement Details
Editor Desktop VS Code 1.95 or newer. This sign-in flow does not support browser-based VS Code.
Linux x64 Automated clean-VSIX, Extension Host and native-run checks passed. One-account browser sign-in, browsing, starter generation, official judging and native execution were also checked live.
Windows x64 / macOS Intel Automated clean-VSIX, Extension Host and native-run checks passed on stable and minimum supported VS Code. A Windows 11 fresh-user report covered real sign-in, samples and submission; the owner confirmed the follow-up fixes. macOS live-account use and Apple Silicon remain unverified.
WSL / SSH / containers File-backed remote workspaces run tools on the workspace host. Full remote sign-in and execution validation is pending.
Service leetcode.com; leetcode.cn is unsupported. Premium problems remain subject to your LeetCode access.
Workspace Open a folder. File generation, local execution, and submission require workspace trust.
Virtual folders Limited support in desktop VS Code: browse and use the file provider where permitted. Generation requires a writable provider; local running/debugging need a file-backed folder.
Restricted Mode Browse problems and read statements; trust is required before generating, running, debugging or transmitting code.
Language Official generation and judging Run locally
Python / Python3 When offered by LeetCode for the problem Selected Python extension interpreter, or system Python 3. If Microsoft Python fails to start, a warning identifies the system fallback. An invalid selected interpreter still needs correction; Python 2 syntax is not automatically supported.
JavaScript When offered Node.js on PATH; your solution syntax must work in that Node version.
TypeScript When offered Node.js 22.18+ with erasable types; ESM imports/exports need your own driver.
C++ When offered GCC/Clang-style C++17 compiler selected through C/C++ settings, CXX, or g++; MSVC cl is not an automatic adapter.
Java When offered JDK with javac and java through JAVA_HOME or PATH; a JRE alone is insufficient.
C, C#, Go, Rust, Ruby, Swift, Kotlin, Scala, PHP, Dart, Elixir, Erlang, Racket, SQL dialects, Bash When offered and mapped by the extension VS Code's normal Run Without Debugging, with your own runnable entry point and language tools. Saved Local input is not injected into this workflow.

The extension only offers languages returned by LeetCode with an existing file mapping; newly added site languages may need an extension update. Python/Python3 and SQL dialects share file extensions and require separate workspaces when switching variants.

Run locally invokes supported methods with saved input and shows prints without judging. Test on LeetCode executes the site's published examples; Submit Solution invokes its full judge. Both official actions transmit code and require sign-in; local tools are not needed for them. Debug locally starts your existing VS Code debug configuration, which needs a runnable entry point and debugger. It does not automatically invoke the method or inject Local input.

Automatic local adapters cover ordinary scalar/array inputs and class operations. Python and JavaScript/TypeScript also adapt standard ListNode and TreeNode inputs. Special interfaces such as Robot, MountainArray and NestedInteger, and compiled linked-list/tree or collection parameters, need your own driver. See the local execution guide for setup and failure handling. Automated checks use synthetic account/judge responses; they do not establish live-account compatibility on every platform.

Accessibility and reading options

The problem viewer follows VS Code’s theme, including high-contrast themes, and adapts to narrow panels. Solved and attempted states use text labels as well as visual indicators. These guides provide alt text and written instructions; animation is not required to learn the workflow. Use the Command Palette to access the named LeetCode commands.

Privacy and account controls

  • Sign-in happens through LeetCode in your browser; the validated session is stored in VS Code SecretStorage.
  • Test and Submit send the selected solution to LeetCode. Running locally keeps local inputs on your machine.
  • Sign Out removes the extension’s session and the workspace’s saved result/pending request. It does not sign out your browser or revoke server sessions.
  • Optional request diagnostics redact credentials and do not log solution source or raw response bodies.
  • The extension does not bypass CAPTCHA, premium restrictions, rate limits, or account controls.

Read the security notes for details.

Troubleshooting

Issue Next step
Session expired or access blocked Resolve login/access challenges on LeetCode in your browser, then use Sign In again. Browser access does not guarantee extension access.
Rate limit Wait before retrying.
Solution metadata missing Generate a solution through the extension and open the matching solution.* file. Do not submit a README or metadata file.
Waiting for a result Use View Last Submission Result or Resume results. One request may be pending per workspace.
Send failed before an ID was returned Check your LeetCode submission history before retrying; the submission may already exist.
Local runner fails Check your interpreter/compiler and input format. See the local execution guide.
Service response changed LeetCode’s web endpoints are undocumented and may change or block access. An extension update may be required.

Documentation and license

  • Complete user and developer guide
  • Local execution guide
  • Security and session handling
  • API assumptions and limitations
  • Support and reporting problems
  • Changelog
  • Extension license

The source repository is private. Version 0.1.17 and later use the Verak Systems proprietary license linked above. Your solutions remain yours, and third-party components retain their own licenses. Copies of 0.1.16 and earlier retain their MIT license. No paid plan is available.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft