Microsoft Releases Visual Studio Code

3 minute read

Published:

Microsoft announced Visual Studio Code at Build 2015 on April 29, 2015 and released it as a free public preview the same day, with VS Code 1.0 (the first stable release) shipping April 14, 2016. The project was led by Erich Gamma — one of the Gang of Four (co-author of Design Patterns: Elements of Reusable Object-Oriented Software, 1994) and the original creator of JUnit — who had joined Microsoft in 2011 specifically to build a new developer tool for the web era. VS Code was built on GitHub’s Electron framework (then called “Atom Shell,” renamed Electron in 2015), which wrapped Chromium’s rendering engine and Node.js in a single bundle, enabling a cross-platform desktop application built in TypeScript, HTML, and CSS — running on Windows, macOS, and Linux from the same codebase. The Monaco editor component (VS Code’s text editing core) was separately open-sourced and became the basis for browser-based code editing in Azure DevOps, GitHub’s web editor (., now github.dev), CodeSandbox, StackBlitz, and many other web IDEs. VS Code itself was published as open source under the MIT License on GitHub (github.com/microsoft/vscode) at launch.

The Language Server Protocol (LSP, June 2016, designed by the VS Code team) was the engineering decision that most broadly influenced the editor ecosystem beyond VS Code itself. Before LSP, every code editor (Vim, Emacs, Sublime Text, Atom, Eclipse) implemented its own language intelligence tooling for each supported language — meaning that a Python linter or TypeScript checker had to be implemented separately for each editor by different teams. LSP defined a JSON-RPC protocol by which a “language server” (a process implementing analysis for one language) could communicate with any LSP-compatible editor: providing diagnostics (syntax errors, type errors shown inline), code completion (IntelliSense), go-to-definition, find-references, rename-symbol, and format-document as standardized JSON messages over stdio or sockets. The TypeScript Language Server (shipping with VS Code) was the first production LSP implementation; subsequently Pylance/pyright (Python), clangd (C/C++), rust-analyzer (Rust), and language servers for Go, Java, Ruby, and dozens more were built to the LSP standard, enabling them to be used in any LSP-compatible editor — a network effect that grew VS Code’s language support quality while benefiting the entire editor ecosystem.

VS Code’s extension marketplace (extensions.visualstudio.com) became the distribution mechanism for debuggers, linters, formatters, Git tools, SSH integrations, and AI assistants. The Remote Development extensions (June 2019) allowed VS Code to open a folder on a remote machine via SSH, inside a Docker container, or in WSL (Windows Subsystem for Linux), running all language server processing and debugging on the remote side while the VS Code UI ran locally — enabling a “local UI, remote code” model that made developing on cloud servers or containers as seamless as local development. GitHub Copilot (June 2022 GA) integrated AI code completion as a VS Code extension with over 1 million paying users by early 2023. The Stack Overflow Developer Survey 2019 ranked VS Code as the most popular IDE (71.5% of respondents), a position it has maintained in every subsequent annual survey. The combination of fast startup, cross-platform availability, LSP-powered language intelligence, Git integration, integrated terminal, and an ecosystem of tens of thousands of extensions made VS Code the dominant code editor within 4 years of its 2015 preview release.