★ 194,174TypeScriptMITupdated Oct 2026
best for developers who want the deepest extension ecosystem and can spare the memory
The extension API is the real reason VS Code won: language servers, debuggers, and custom views all plug into the same contribution model, so a language extension and a debugger extension feel like they were built by the same team even when they weren't. Add a monthly release cadence with public iteration plans checked into the repo, and you can watch a feature move from proposal to ship rather than guessing from a changelog.
That openness has a seam running through it. The code in this repo, Code-OSS, is MIT-licensed, but the build most people install carries Microsoft's telemetry, Copilot integration, and marketplace access, none of which ship here — extensions built against those APIs can't be fully tested on the open source build.
The bill for all that extensibility is memory. Electron puts a 200-400MB floor under every window before you've opened a file, and it only grows as extensions pile on — exactly what Zed and Lapce exist to avoid.
Our full take →GitHub ↗
★ 103,100Vim ScriptNOASSERTIONupdated Oct 2026
best for terminal-first developers who want programmable extensibility without VS Code's weight
Lua changed what plugin authors could do here — a real scripting language instead of vimscript, with an RPC API that lets you drive the editor from any language or bolt on an entirely different frontend. LSP and tree-sitter live in core rather than in plugins, so the gap between default Neovim and an editor with real completion and structural highlighting is smaller than it used to be.
It's still bigger than Helix's gap, though. Helix ships that same LSP and tree-sitter combination with zero configuration; Neovim's defaults are still recognizably Vim, so you're installing a distribution like LazyVim or NvChad, or building your own config, before it feels current.
The plugin ecosystem shows some of that same seam. Lua plugins assume certain config patterns — lazy.nvim, packer, and others — and not all of them agree with each other, so putting together a modern setup still means some trial and error.
Our full take →GitHub ↗
★ 91,992RustNOASSERTIONupdated Oct 2026
best for developers on macOS or Linux who want VS Code's features with none of the lag
Profile a large file in Zed next to VS Code and the difference isn't subtle — GPUI renders every frame on the GPU, and the team that wrote Tree-sitter built its integration straight into the core, so syntax highlighting and structural editing feel more correct, not just faster. Real-time collaboration sits in the data model itself, as CRDT-based buffers, rather than as a feature bolted onto a single-player editor the way most multiplayer modes are.
The extension marketplace is still the gap. A lot of the niche language servers and linters that are routine installs in VS Code or even Neovim just don't have a Zed extension yet, and for some stacks that's a daily blocker, not an inconvenience.
Windows support arrived late and still shows it — rendering edge cases and missing features put it behind the macOS build in a way that makes Windows a risky primary setup right now. And if you want to self-host the collaboration server rather than use Zed's own, you're mostly on your own; it's proprietary, and running it yourself isn't well documented.
Our full take →GitHub ↗
★ 20,648JavaNOASSERTIONupdated Oct 2026
best for Java and Kotlin developers who want a full IDE's code intelligence, not just an editor
This is the exact code IntelliJ IDEA and PyCharm build from in production, not a stripped-down demo — the CI badges proving both IDEs build green off this tree are the proof. The modular split between the core platform and language-specific plugins holds up well enough that plugin authors treat it as the reference implementation, which says something about how cleanly it's organized for a codebase this size.
Where Zed, Helix, and Lapce compete on how fast they open a file, this one competes on how much it knows about your project once it's open — real refactoring, cross-language navigation, and static analysis the lighter editors on this page don't attempt.
That depth has a startup tax. Open a large project for the first time and you're waiting on indexing before you get real completions or navigation, sometimes for minutes — the opposite trade-off from the instant-open editors elsewhere on this page.
Our full take →GitHub ↗
★ 46,660RustMPL-2.0updated Sep 2026
best for developers who want Vim-like modal editing with LSP and tree-sitter working on first launch
Helix flips Vim's grammar — selection first, then action — and once it clicks it's a real alternative to Vim's ordering, not a re-skin of it. LSP and tree-sitter are already wired in, so completion, diagnostics, and syntax highlighting work the moment you open a supported language, with none of the setup Neovim needs to reach the same point.
That zero-config start comes with zero extensibility. There's no Lua, no vimscript equivalent, nothing — if a behavior isn't already in core, the only path is forking the Rust source and patching it, a much higher bar than editing a Neovim config file. Configuration itself is static TOML, which can't express the conditional keybinding logic a real scripting language could.
It's terminal-only, too. The GUI mentioned in the project's own docs is aspirational rather than built, so years of requests for a graphical Helix haven't produced one.
Our full take →GitHub ↗
★ 38,947RustApache-2.0updated Oct 2026
best for developers who want a native, fast editor with plugins that aren't locked to one language
Lapce builds its plugin system on WASI instead of locking authors into JavaScript the way VS Code does, so a plugin can be written in whatever language compiles to WebAssembly — though the marketplace built on top of that design is still tiny next to VS Code's, or even Zed's growing one. Remote development and LSP support are both built from scratch, and the proxy architecture keeps local UI and remote execution cleanly separated, closer in spirit to VS Code's Remote-SSH than to Zed's collaboration model.
The open question is Floem, Lapce's own UI toolkit. It's still maturing, so bugs and missing widgets show up more often than on a mature toolkit like GTK or Qt, and fixing them depends on the same small team maintaining both the editor and the framework underneath it — with no stable plugin API or semver guarantee yet for anyone planning to build on top long-term.
Our full take →GitHub ↗
// questions people ask
Before you choose
Do I need to already use Vim to pick Neovim or Helix?
Not for Helix — its selection-first model differs enough from Vim's that prior muscle memory only partly transfers, so most people start close to zero either way. Neovim keeps Vim's own keybindings and vimscript compatibility, so existing Vim users move over with almost no relearning.
Which of these is the most realistic choice for remote development over SSH?
VS Code's Remote-SSH extension and Neovim running inside a remote shell are the two most proven paths, with large user bases behind both. Lapce built its own remote proxy architecture from the ground up, which is a promising design, but it has far less real-world mileage than the other two.
What's the difference between this IntelliJ Community repo and the IntelliJ IDEA most people install?
This is the exact source the released IDE builds from, not a trimmed-down version — the same code CI proves IntelliJ IDEA and PyCharm both build green from. Most developers never touch this repo directly; they install the compiled IntelliJ IDEA Community Edition, which adds JetBrains' packaging and bundled plugins on top.
Is Zed's real-time collaboration free to self-host?
The editor is open source, but the collaboration server it talks to by default is Zed Industries' own and proprietary. You can technically run the full stack yourself under the AGPL-licensed parts, but the self-hosting path isn't well documented, so most teams just use Zed's hosted service.
If the extension ecosystem matters more than memory, stay on VS Code. If you want most of that back without the weight, Zed and Helix are the two worth trying first.