Visual Studio Code is no longer just a text editor, a place to write code, preview Markdown, or maybe debug a script or two. Over the last few years, the app has quietly evolved from a popular code editor into something far bigger – an open source platform for building, extending, and even hosting entire development environments.

VS Code today includes a file explorer, terminal, extension marketplace, UI framework, remote access layer, and increasingly, AI tooling. This reduces friction and makes workflows easier to manage across machines and environments. But at the same time, it concentrates more control and responsibility in one platform, which introduces trade-offs that are easy to overlook when focusing only on convenience.

👁 Using Dendron inside VS Code
4 VS Code forks built for specific tasks

The classic VS Code is great and all, but these specialized forks are better for certain programming tasks

From editor to platform

VS Code is no longer just a code editor

VS Code’s shift from editor to platform happened gradually through a series of feature additions. Extensions were the first major step, turning the editor into something that could be reshaped based on what you need. Over time, more core capabilities began to rely on the same extension system, which blurred the line between built-in features and add-ons.

This design makes VS Code behave less like a standalone tool and more like a runtime environment. Many features that would traditionally exist as separate applications now operate within the editor using shared APIs. File handling is a good example of this shift. VS Code does not limit itself to local files. Through APIs like FileSystemProvider, extensions can expose entire virtual or remote file systems inside the workspace. That means a repository or remote environment can appear alongside local folders without requiring a complex setup.

Execution works in a similar way. The integrated terminal allows commands and scripts to run directly inside the editor, while extensions can create and manage their own terminals. This means build tools, scripts, and workflows are no longer external dependencies but part of the same environment.

The UI system pushes this platform idea even further. Extensions can build full interfaces using webviews with standard web tech, so you can run fairly complex tools right inside VS Code instead of opening separate apps. Notebook support moving into core APIs adds to this by making interactive workflows feel like a built-in part of the editor rather than something external.

Remote development takes this beyond your own machine. VS Code can connect to containers, remote servers, or subsystems, run extensions there, and still keep the interface local. Your workspace becomes portable, and the editor turns into the place you access different environments from.

The extension marketplace is what ties all of this together. It works like a distribution layer where you install, update, and manage tools in one place. Teams can lock this down with private marketplaces, which makes VS Code feel less like an editor and more like a controlled platform. Put together, all of this turns VS Code into a central layer where your tools, interfaces, and environments all come together.

The risks of consolidation shouldn’t be ignored

There are security risks as well

The benefits of consolidation are obvious, but they come with structural risks that matter more as VS Code takes on a bigger role. One of the biggest concerns is extension privilege. According to Microsoft’s own documentation, extensions run with the same permissions as VS Code, which means they can access files, make network requests, and execute processes. That puts them much closer to full applications than lightweight plugins.

Security research backs this up. Studies show that VS Code extensions aren’t sandboxed and can introduce real vulnerabilities, including code execution risks in widely used extensions. Many also depend on large dependency trees, which adds more supply chain exposure. There are safeguards like Workspace Trust, marketplace scanning, extension signing, and publisher verification prompts. These help reduce risk, but they don’t change the core model where extensions still run with broad permissions.

Another factor is ecosystem control. VS Code is one of the most widely used tools among developers, and at that scale, it effectively becomes the default, with tools and workflows increasingly built around it. At the same time, distribution is tied to Microsoft’s marketplace and licensing terms. The product license allows data collection and points to marketplace policies, while the marketplace defines how extensions can be distributed and used. These policies also give Microsoft the ability to modify or discontinue parts of the ecosystem.

Telemetry adds to this. VS Code collects usage data to improve features and guide development, and while some controls exist, not all data collection is fully optional. Extensions can also collect their own telemetry independently.

Historically, extensible editors like Emacs and Vim offered similar flexibility, but their ecosystems were far less centralized. VS Code, with its scale, marketplace-driven distribution, and vendor control, creates a different dynamic where the platform itself becomes the primary environment for development.