mrkeyoor.com_
Wed 16 Sept 05:24 UTC
Dev Toolsevaluationupdated 25 Aug 2026

vscode review

The `microsoft/vscode` repository is Code OSS, the MIT-licensed source base used to develop Visual Studio Code. It combines an Electron editor shell, language features, debugging, terminals, remote-development pieces, extension APIs, and bundled extensions; Microsoft's downloadable VS Code product adds separate customizations and uses a different product license.

+1,063stars / 7d
Verdict

Our VS Code checkout spent 505 seconds in npm install before node-gyp failed on native-keymap, so source contribution needs more care than installing the polished desktop product. Use Code OSS when you intend to change the editor or own a distribution, and match .nvmrc plus every native prerequisite before debugging JavaScript. For daily editing, install VS Code or VSCodium instead of building 3.8 million source lines.

We ran it

Lab card: what happened when we ran vscodeScreenshot of vscode (code.visualstudio.com)
Install✗ · 505s
Build
Repo18132 files~3,811,392 lines of source · 254.5 MB · 15 CI workflows · tests dir

Answers from our run

Does vscode build from source?

The dependency install failed, and the project has no separate build step. We cloned commit 342c6c5 into a clean Debian container with 3 CPUs and no project-specific setup.

Who should not use vscode?

Developers who only want to use VS Code: the packaged product avoids an 18,132-file source checkout and native dependency build.

What are the alternatives to vscode?

VSCodium, Neovim, Zed. Our VS Code checkout spent 505 seconds in npm install before node-gyp failed on native-keymap, so source contribution needs more care than installing the polished desktop product.

Setup2/5Native install failed after 505 seconds on our Linux box
Docs5/5Detailed platform setup, build loops, tests, and contribution flow
Community5/5Daily development and a very large active work queue
Maturity5/5Monthly product releases and established engineering process

Discussed on

  1. hnVS Code inserting 'Co-Authored-by Copilot' into commits regardless of usage1,513 points
  2. hnVS Code uses 13% CPU when idle due to blinking cursor rendering899 points
  3. hnVisual Studio Code for Go468 points
  4. hnVS Code Roadmap 2018360 points
  5. hnSanta hat removed from VS Code after complaint243 points

Who it’s for

Editor and extension engineers who need to understand or change VS Code internals.
Teams building an MIT-licensed Code OSS distribution with their own branding and services.
Contributors working on editing, debugging, terminals, remote sessions, or accessibility.
Developers who can maintain Node, Python, native compilers, Electron, and platform libraries.

Who it’s NOT for

Developers who only want to use VS Code: the packaged product avoids an 18,132-file source checkout and native dependency build.
Teams assuming the Microsoft Visual Studio Marketplace works in a Code OSS build: the contribution guide says it is unavailable and extensions must be side-loaded or obtained elsewhere.
Organizations treating the MIT source and Microsoft's distributed VS Code as the same licensed artifact: the README explicitly separates their licenses and customizations.
Contributors without a C or C++ toolchain and Python for node-gyp: our install failed while rebuilding the native-keymap module.
Low-resource development containers: Microsoft asks for at least 4 cores and 6 GB of RAM, with 8 GB recommended for a full build.
Maintainers who want a small issue surface: GitHub reported 20,110 open issues and pull requests combined.

Setup reality

Our sandbox cloned commit 342c6c5, a 254.5 MB checkout with 18,132 files and about 3,811,392 lines of source. npm install failed after 505 seconds with exit 1 while node-gyp rebuilt native-keymap 3.3.9. The log reported Node v24.19.0 and node-gyp v12.4.0. The run stopped before build or tests.

Source setup needs the Node version in .nvmrc, Python for node-gyp, and a platform C or C++ toolchain. Debian contributors also need X11, keyboard, secret-storage, and Kerberos development packages. The provided development container asks for 4 cores and at least 6 GB of RAM.

Code OSS lacks the Microsoft Visual Studio Marketplace, and the Microsoft product distribution has its own license and customizations. A normal edit loop runs a watch build, then a development Electron or web instance; unit, UI, smoke, and extension tests have separate paths.

Code OSS and Visual Studio Code have 2 licenses

The repository is Code OSS, the MIT-licensed source from which Microsoft develops Visual Studio Code. Microsoft's downloadable product adds branding and other customizations and ships under Microsoft's product license. That distinction matters for anyone planning a fork or redistribution. Cloning this tree does not recreate every service and commercial integration users associate with the official download, even though the editor's main code is developed here.

Code OSS is also much broader than a text editor component. The tree includes the workbench, Electron desktop host, browser build, terminals, debugging infrastructure, extension host, language support, remote-development machinery, and bundled extensions. Several related pieces live in separate repositories. A contributor must first locate the owning component and reproduce an issue without third-party extensions, because many apparent editor defects belong to an extension or another project.

A full container starts at 4 cores and 6 GB

Microsoft's contribution guide requires Node, Python for node-gyp, and a native C or C++ toolchain. Linux adds X11, keyboard, secret-storage, and Kerberos development headers. The provided Dev Container or Codespace should have at least 4 cores and 6 GB of RAM, with 8 GB recommended. The guide also warns against source paths containing spaces because native modules may fail to compile.

The .nvmrc file we fetched specified Node 24.18.0, while the general prerequisite says Node 22 or newer and tells contributors to follow the more precise file. That file can change with the repository. Using fnm use or another version manager before npm install is part of setup, not cleanup after a mysterious native failure. Platform compilers and Python must match node-gyp's own support rules as well.

What happened when we ran it

Our sandbox cloned commit 342c6c5 into an unprivileged environment with 3 CPUs and 8 GB of RAM. The checkout occupied 254.5 MB and contained 18,132 files with about 3,811,392 lines of source. The npm install ran for 505 seconds and then exited 1. Because installation failed, our harness did not proceed to a build or test command.

The final log lines show node-gyp rebuilding native-keymap 3.3.9. They report Node v24.19.0, node-gyp v12.4.0, Linux, and a failure in the module's directory. The provided tail does not include the earlier compiler diagnostic that triggered node-gyp's exit, so we cannot name the missing header, tool, or compatibility problem. The honest finding is a failed native dependency build after more than 8 minutes.

The repository has 15 CI workflow files, no top-level Dockerfile detected by the lab, and a tests directory. The README separately offers a development-container setup, which is a more deliberate environment than our generic Node image. Those project signals do not convert the failed install into a pass. They show where a contributor should go next: reproduce with the documented container or exact host prerequisites.

The development loop is a watch build

After npm install, contributors run npm run watch or the editor's build task and wait for the initial compilation to finish. A development desktop instance then launches from scripts on macOS, Linux, or Windows; separate scripts start the web and code-server forms. Unit tests use the platform test script, while smoke, UI, extension, lint, and remote tests have their own instructions. This is a product workbench with several execution targets, not one library test command.

Code OSS builds also lack access to the Visual Studio Marketplace. The guide advises side-loading VSIX files or obtaining extension builds from their authors. That is a practical limitation for internal distributions because extension installation is part of the product experience. VSCodium may save substantial packaging and service-configuration work if your goal is simply a community-built editor without Microsoft's branding.

Release 1.134.0 landed 6 days before our review

GitHub release 1.134.0 was published on August 19, 2026. The repository's last push was August 25, and GitHub showed 189,601 stars plus 20,110 open issues and pull requests combined. Same-day activity covered editor UI, agent sessions, terminals, Python environment activation, and managed settings. The queue is enormous, but current pushes and monthly releases show active processing rather than a dormant backlog.

The issue workflow is unusually structured for a public project: reports ask for versions, operating systems, extensions, reproducible steps, and console errors, while automation closes stale information requests and locks old closed threads. That process and the detailed build guide make contribution possible at this scale. Still, Code OSS is best approached for a specific component change. If you only want an editor, compiling Electron and native modules is the wrong purchase.

Alternatives

ProjectWhat it isPick it when
VSCodiumCommunity build scripts for producing freely licensed binaries from Code OSS without Microsoft branding.pick this instead when you want ready Code OSS binaries rather than maintaining your own distribution pipeline.
Neovim gh↗A terminal-first editor with Lua configuration and a plugin-driven workflow.pick this instead when keyboard-driven editing and a smaller native core matter more than Electron and VS Code extensions.
Zed gh↗A native collaborative code editor written in Rust with its own extension model.pick this instead when native rendering and collaboration outweigh VS Code compatibility.

Sources

  1. Visual Studio Code repository README
  2. VS Code contribution guide
  3. VS Code 1.134.0 release
  4. VS Code extension test guide

More dev tools reviews

noty · forward-implementation-first · breakscale · black · ASC · BrewUI · the whole board →