~5m21:11
ZARGO

Visual Studio Code: Почему Microsoft Раздаёт Его Бесплатно?

Oct 25, 2026

Read: ~5m · You save: 16 min

Visual Studio Code: Why Microsoft Gives It Away for Free

How did a browser editor with 3,000 users become one of the world's leading code editors? The story of Visual Studio Code, from Monaco to today.

Today, Visual Studio Code is one of the most popular code editors in the world. Its history began with Monaco, a small browser-based editor that at one point was at risk of being shut down. Instead of abandoning the project, the developers changed its direction. This article describes how VS Code came about, which decisions shaped its architecture and popularity, which extensions are available to users, and which questions related to security, licensing, and the project's economics arise.

Erich Gamma's Arrival at Microsoft

In 2011, Microsoft hired Swiss computer scientist Erich Gamma. By that time, he was already well known in the programming world.

  • In 1994, Gamma and three co-authors published the book Design Patterns. It became one of the most important works on object-oriented programming. It collects proven solutions to common problems that developers encounter.
  • Together with Kent Beck, Gamma created JUnit, a tool for automated testing of Java programs. JUnit played an important role in popularizing unit testing and test-driven development (TDD).
  • Gamma took part in developing Eclipse, a full-featured development environment that was at one time one of the main competitors of Microsoft Visual Studio. According to one IBM executive, the developers of Eclipse wanted to eclipse Visual Studio. The name "Eclipse" translates as an eclipse or the blocking of light.

Monaco: browser-based editor

At Microsoft, Gamma led work on another project. The team was building a small code editor designed to run in the browser. The project was named Monaco. Its goal did not involve competing with Visual Studio. The editor was developed in Zurich so that Microsoft users could edit the code of their websites directly in the browser, without installing a full development environment. The project was also called Visual Studio Online. In addition to the browser editor, Monaco was a set of components that were later used in other Microsoft web products.

Key technical decisions of Monaco:

  • Autosave. The feature was enabled by default so that users would not lose their work. According to Gamma, the VS Code team continued to use autosave for years afterward, but never made it the default setting of the new editor.
  • TypeScript. By 2013, the entire Monaco codebase was written in TypeScript, a Microsoft language that was still young at the time. According to Gamma, it was TypeScript that allowed the team to freely modify and restructure the code without constant difficulties during updates.

From a technical point of view, Monaco developed successfully. However, in terms of popularity, the results were weak. The editor's monthly audience was about 3,000 people. For a small independent project, this is an acceptable figure, but for Microsoft such numbers were nearly catastrophic. For Monaco to continue existing, its audience needed to grow at least tenfold. Otherwise, the project could be shut down.

Решение 2014 года: переход к настольному приложению

В 2014 году разработчики отказались от идеи развивать Monaco только как браузерный инструмент. Они решили превратить его в полноценное настольное приложение. Это решение стало началом истории Visual Studio Code.

Новый проект получил кодовое название Ticino. Команда ставила перед собой следующие задачи:

  • создать полноценный инструмент для Windows, macOS и Linux;
  • не копировать Visual Studio;
  • занять промежуточное место между простым текстовым редактором и тяжёлой IDE;
  • сохранить простоту и скорость текстового редактора;
  • добавить возможности разработки, запуска и отладки приложений на Node.js.

Команда не стала переписывать Monaco с нуля. Вместо этого она использовала Electron, фреймворк, который объединяет движок браузера Chromium и среду выполнения Node.js. Благодаря Electron приложения, написанные с помощью веб-технологий, запускаются как обычные программы в разных операционных системах. Многие разработчики в тот период переносили настольные приложения в браузер. Команда Microsoft пошла в обратном направлении и превратила браузерный редактор в настольную программу.

Одного запуска Monaco в отдельном окне было недостаточно. Редактор должен был быстро реагировать на действия пользователя, удобно работать с файлами и поддерживать отладку и систему контроля версий Git. Поэтому команда уделила большое внимание производительности. Разработчики намеренно отказались от готовых фреймворков для построения интерфейса и создали необходимые компоненты самостоятельно. Это решение требовало больших затрат труда, но позволяло не зависеть от ограничений сторонних библиотек и оптимизировать те части приложения, которые действительно важны.

Launch and Open Sourcing

On April 29, 2015, Visual Studio Code was unveiled at the Microsoft Build conference. The editor was free and ran on Windows, macOS, and Linux. The name "VS Code" was coined five days before the first launch.

The first version was well received, but it lacked two important capabilities: full extension support and an open development process. Microsoft quickly addressed these shortcomings:

  • November 2015. The source code of VS Code was released under the MIT license. At the same time, an extension system and a dedicated marketplace, where developers could publish add-ons, were introduced.
  • April 14, 2016. Visual Studio Code 1.0, the full release, came out.

For Microsoft, a company previously associated with a hostile attitude toward open-source software, this was a significant change of course.

VS Code Editor Architecture

VS Code did not try to replace familiar editors merely by offering a large number of features. Its main advantage was how well those features worked together. At first glance, the interface resembles that of other editors: a file explorer on the left, code in the center, and a terminal at the bottom. Behind this interface is a carefully designed architecture.

Monaco and Workbench. Monaco remains the core of the editor and is responsible for text editing, syntax highlighting, and code display. All other elements, including the file explorer, search, terminal, Git management, and various panels, belong to the so-called Workbench. Together, these components make up Visual Studio Code.

Extension Host. Gamma previously encountered situations in which third-party plugins in Eclipse could slow down the environment or completely freeze it. Therefore, the VS Code team decided to run extensions in a separate process, which they called the Extension Host. Thanks to this separation, a problem with an extension does not necessarily lead to freezing the whole project. For example, saving a file is handled in the main process and does not depend on the work of an installed plugin. Extensions interact with the editor through a special API.

Language Server Protocol. In 2016, Microsoft introduced the Language Server Protocol (LSP). The protocol makes it possible to move functions such as autocompletion, go to definition, and error diagnostics into separate language servers. As a result, the editor supports many languages without embedding their analysis logic into the core.

For most programmers, something else matters more: the editor does not lag and helps them write code. In this regard, VS Code also offered several tools:

  • IntelliSense suggests suitable constructs while you type code;
  • built-in tools help find errors and debug programs;
  • Git integration allows you to track changes, create commits, and work with a repository without leaving the editor;
  • a built-in terminal and convenient project-wide search;
  • a command palette for quick access to almost any VS Code function.

Many actions can be performed from the keyboard, without constantly switching between windows and menus. Most of these capabilities existed before, but Microsoft combined them in one free, cross-platform editor that did not require installing a heavy full-fledged IDE.

Competitors

In 2014, GitHub released Atom, an editor built on web technologies and Electron, just like VS Code. Atom was free, open source, and allowed almost everything to be customized. However, that flexibility had a downside. Atom was often criticized for high resource consumption and performance issues, especially when working with large files.

Another popular editor was Sublime Text. It was known for its speed and responsiveness, but many features that VS Code offered right out of the box had to be configured separately in Sublime.

Microsoft struck a balance between these approaches. VS Code was not the fastest or the most flexible editor, but it offered enough capabilities for serious development and remained relatively easy to use.

Popularity

Results came quickly. In January 2021, VS Code's monthly audience reached 14 million people. For comparison, the original Monaco had about 3,000 users per month.

According to a 2026 survey, 71% of surveyed developers use VS Code. This does not mean that exactly seven out of ten programmers in the world work in this editor. The figure reflects the scale of its popularity among survey participants.

Extensions

Built-in features and a well-designed architecture were not enough to achieve such success. In 2015, Microsoft placed its bet on extensions. Over time, they turned VS Code from an editor into a platform for developers.

Once installed, VS Code provides a full-featured editor with syntax highlighting, a terminal, Git, and other tools. Its flexibility becomes apparent in the Extensions tab, where you can find an add-on for almost any task.

Appearance and Workspace Organization

ExtensionPurpose
VS Code PetsVirtual pets (a cat, a dog, and other animals) that move around the screen; you can throw a ball for the pet
Material Icon ThemeReplaces standard file and folder icons with brighter, more recognizable ones; takes into account not only the file format but also the folder name
PeacockAssigns each workspace its own color, which helps avoid confusing the open windows of several projects
VimSupports Vim key bindings, input modes, HJKL navigation, and many text editing commands

The Vim extension takes some getting used to. Users are advised to configure it properly and not overload the configuration.

Writing Code

ExtensionPurpose
PrettierAutomatically formats code according to specified rules when a file is saved: fixes indentation, extra spaces, and differences in styling conventions
Code Spell CheckerChecks spelling in comments, variable names, and function names; recognizes compound names in CamelCase format
Error LensDisplays error messages next to the code and highlights lines with errors instead of underlining them, which requires checking the details separately
Live ServerLaunches a local server and opens an HTML project in the browser, with the page automatically reloading when a file is saved
Code RunnerRuns a program with one click for Python, JavaScript, C++, and other supported languages; the corresponding interpreters and compilers must be installed on the computer for it to work
YAML by Red HatProvides autocompletion, syntax validation, and hints for YAML configuration files used in Docker Compose, Kubernetes, and GitHub Actions

Working with Git and Artificial Intelligence

  • GitLens lets you explore project history in detail. The Git Blame feature shows who last changed a specific line of code and when.
  • Git Graph displays a repository's history as a clear diagram with commits and branches. The extension has its own interface and additional tools, although similar visualization is also available in VS Code itself.
  • GitHub Copilot originally offered intelligent code autocompletion. Today it is integrated into VS Code and can explain unfamiliar functions, help with debugging, generate tests, and make changes across several files. Copilot's results must be verified.

VS Code offers thousands of extensions for various languages, frameworks, and tasks.

Extension Security

Extensions gain access to project files, can interact with the system, and execute code on the computer. As VS Code grows in popularity, the security of extensions becomes increasingly important.

In January 2024, researchers at Snyk Security discovered two malicious VS Code extensions that posed as AI assistants. They were installed about 1.5 million times. In addition to the advertised help with code, the extensions secretly collected the contents of files open in the editor and transmitted them to third-party servers. This is not the only such case. Malicious extensions are capable of stealing passwords, credentials, and other confidential information. Therefore, before installing an add-on, it is recommended to verify its developer and reputation.

Licensing and Telemetry

VS Code's open-source code does not mean that the entire Microsoft ecosystem is open. It is necessary to distinguish between Code OSS and the official Visual Studio Code build:

  • Code OSS is an open project under the MIT license, and its source code can be used almost anywhere.
  • The official Microsoft build is distributed under other terms and includes the company's proprietary components, including telemetry mechanisms.

Diagnostic data collection can be disabled in the settings; however, this does not always affect the telemetry of third-party extensions.

The openness of the code made it possible to create alternative builds, such as VSCodium, which contain no Microsoft proprietary telemetry. However, under Microsoft's terms, such projects cannot use the official Visual Studio Marketplace. That is why Open VSX exists, an independent extension registry used by VSCodium, Eclipse Theia, and other editors. Open VSX offers fewer extensions than the official Marketplace.

Economic Model

The question arises: why does Microsoft give away for free an editor used by millions of developers? VS Code is not required to generate direct profit. Its purpose is to attract programmers into Microsoft's ecosystem, which includes GitHub, Azure, and paid GitHub Copilot features. The more comfortable developers are working in VS Code, the easier it is for the company to offer them other tools.

The editor's influence has long extended beyond Microsoft. Competitors, including Cursor and Zed, are built on the VS Code codebase and use its familiar interface and compatibility with existing tools.

Return to the Browser

Over time, VS Code returned to the original idea behind Monaco. Today, VS Code for the Web lets you edit code directly in the browser, while GitHub Codespaces provides a full-featured development environment in the cloud. The Monaco project, which in 2014 was under threat of being shut down, first evolved into a desktop application. Years later, it returned to the browser, but now with a broad ecosystem of extensions, cloud servers, and artificial intelligence tools.

Visual Studio Code has its shortcomings, but its impact on modern development is hard to overstate.

Origins: Erich Gamma and Monaco

In 2011, Microsoft hired Swiss scientist Erich Gamma, author of the book «Design Patterns», creator of JUnit, and a contributor to the development of Eclipse. His team built Monaco, a browser-based editor that suffered from a small audience.

  • In 2011, Microsoft hired Swiss computer scientist Erich Gamma
  • In 1994, Gamma and three co-authors published the book «Design Patterns»
  • Together with Kent Beck, Gamma created JUnit for automated testing of Java programs
  • Eclipse was one of Microsoft Visual Studio's main competitors; the name is linked to the idea of eclipsing Visual Studio
  • Monaco was originally created for editing website code directly in the browser
  • Monaco's monthly audience was about 3,000 people, and continuing the project required at least 10-fold growth
  • In 2013, all of Monaco's code was written in TypeScript

Transition to Desktop and the Launch of VS Code

In 2014 the team decided to turn Monaco into a desktop application. The project was code-named Ticino and built on Electron, which combines Chromium and Node.js.

  • The Ticino project was conceived as a tool for Windows, macOS, and Linux
  • The team did not copy Visual Studio but sought a golden mean between a simple text editor and a heavy IDE
  • Electron combines the Chromium engine and the Node.js runtime environment
  • The interface was built with custom components without third-party frameworks
  • On April 29, 2015, Visual Studio Code was presented at the Microsoft Build conference
  • The name "VS Code" was coined 5 days before the first launch
  • In November 2015 the source code was released under the MIT license, and an extension system and marketplace were introduced
  • On April 16, 2016, version 1.0 was released

Architecture and Reasons for Popularity

VS Code's architecture includes Monaco for text editing and Workbench for the rest of the interface. Extensions run in a separate Extension Host process, and language support is implemented via the Language Server Protocol (LSP), introduced in 2016.

  • Monaco handles text editing, syntax highlighting, and code display
  • The Explorer, search, terminal, Git, and panels are part of the Workbench
  • Extensions run in a separate Extension Host process, so a plugin crash does not necessarily freeze the editor
  • File saving is performed in the main process
  • In 2016, Microsoft introduced the Language Server Protocol (LSP)
  • LSP allows autocompletion, definition lookup, and error diagnostics to be moved into separate language servers
  • Built-in features include IntelliSense, Git integration, terminal, project-wide search, and the command palette

Competitors and Audience Growth

Comparison with Atom and Sublime Text shows that VS Code found a balance between functionality and simplicity. By January 2021, its monthly audience had reached 14 million people, and a 2026 survey showed that about 71% of surveyed developers use VS Code.

  • Atom, released by GitHub in 2014, was criticized for high resource consumption and problems with large files
  • Sublime Text was known for its speed, but many features had to be configured separately
  • In January 2021, the monthly audience of VS Code reached 14 million people
  • According to a 2026 survey, about 71% of surveyed developers use VS Code

Extensions and Tools

Extensions turn VS Code into a platform. The video shows examples: pets, icon themes, project color labels, Vim, formatting, spell checking, a live server, code running, YAML, Git tools, and GitHub Copilot.

  • VS Code Pets lets you keep a virtual cat, dog, or other animal in the editor
  • Material Icon Theme replaces file and folder icons, taking the folder name into account as well
  • Peacock assigns each workspace its own color
  • The Vim extension adds Vim key bindings
  • Prettier automatically formats code according to set rules on save
  • Code Spell Checker checks spelling in comments, variable and function names, understanding CamelCase
  • Error Lens shows error messages right next to the code
  • Live Server starts a local server and refreshes the page on save
  • Code Runner runs code with one button if the required interpreters or compilers are installed
  • The YAML extension by Red Hat adds autocompletion and validation for configuration files
  • GitLens shows who changed a line and when (Git Blame)
  • Git Graph visualizes the repository history as a graph with commits and branches
  • GitHub Copilot explains functions, helps with debugging, generates tests, and makes changes across multiple files

Security, Telemetry, and Open Builds

Extensions have access to files and the system, so their security matters. In January 2024, two malicious extensions posing as AI assistants were installed about 1.5 million times. The official VS Code build contains telemetry and proprietary components, unlike Code OSS and VSCodium.

  • In January 2024, researchers at Snyk Security discovered two malicious extensions posing as AI assistants
  • These extensions were installed about 1.5 million times and collected the contents of open files
  • Code OSS is distributed under the MIT license, while Microsoft's official build is under different terms with telemetry
  • Alternative builds, such as VSCodium, do not use the official Visual Studio Marketplace, so Open VSX exists

Why Microsoft Gives Away the Editor and the Return to the Browser

Microsoft benefits from VS Code not directly, but by attracting developers into its ecosystem (GitHub, Azure, GitHub Copilot). Competitors Cursor and Zed are built on the VS Code codebase, and the project has returned to the browser via VS Code for the Web.

  • VS Code helps attract programmers into Microsoft's ecosystem: GitHub, Azure, and paid features of GitHub Copilot
  • Cursor and Zed are built on the VS Code codebase
  • VS Code for the Web allows editing code in the browser
  • GitHub Codespaces provides a full-featured development environment in the cloud