The Story of VS Code | Official Documentary
이 영상은 Visual Studio Code의 개발 배경과 성장 과정을
마이크로소프트와 초기 개발자들의 인터뷰를 통해 설명함.
웹 기반 편집기에서 오픈소스·확장 생태계·원격 개발·AI 코딩 도구로 발전한 흐름을 다룸.
- 마이크로소프트의 개발자 전략 변화
과거 마이크로소프트 개발자 부서는 윈도우와 C#, C++ 중심으로 운영됐음.
웹 애플리케이션과 자바스크립트 생태계가 커지면서 기존 전략만으로는 개발자와의 접점을 유지하기 어렵다고 판단함.
이후 운영체제나 언어에 관계없이 모든 개발자를 지원하는 방향으로 전략을 전환함.
VS Code는 이 변화의 대표적인 결과물로 소개됨.
- 브라우저에서 실행되는 개발 도구의 시작
마이크로소프트는 웹에서 작동하는 개발 도구를 만들기 위해 스위스 취리히에 별도 팀을 구성함.
초기 프로젝트의 핵심은 브라우저에서 동작하는 코드 편집기였음.
당시에는 브라우저 기반 애플리케이션이 대규모 코드와 복잡한 편집 기능을 감당하기 어렵다는 의견이 많았음.
개발팀은 스타트업처럼 빠르게 실험하고 실제로 작동하는 결과물을 내놓는 방식을 택함.
- Monaco 편집기와 TypeScript의 결합
초기 결과물인 Monaco는 브라우저에 삽입할 수 있는 코드 편집기였음.
문법 강조, 자동 완성, 정의로 이동, 참조 검색 같은 기능을 제공하도록 발전함.
대규모 웹 애플리케이션을 만들기 위해 TypeScript도 함께 개발됐음.
Monaco와 TypeScript는 서로의 사용 사례와 피드백을 바탕으로 기능을 확장했고, 이후 VS Code의 핵심 기반이 됨.
- 웹 편집기에서 크로스플랫폼 앱으로 전환
브라우저에서만 실행되는 개발 도구는 사용 범위가 제한적이었음.
Azure 웹사이트를 편집하는 기능만으로는 충분한 사용자층을 확보하기 어려웠다고 설명함.
팀은 웹 기술을 데스크톱 애플리케이션으로 실행할 수 있는 Electron을 활용하기 시작함.
그 결과 VS Code는 윈도우, macOS, 리눅스에서 작동하는 가벼운 코드 편집기로 방향을 전환함.
- 오픈소스와 확장 생태계의 형성
VS Code 출시 직후 사용자들은 확장 기능과 오픈소스 공개를 요구했음.
팀은 코드를 공개하고 확장 API를 제공하는 방향으로 제품을 확장함.
확장 기능은 별도 프로세스에서 실행되도록 설계해
확장 기능에 오류가 생겨도 편집기 자체가 멈추지 않도록 했음.
확장 API를 단순하게 설계하면서 개발자들이 언어 지원, 디버거, 버전 관리, 생산성 기능을 직접 추가할 수 있게 됨.
현재의 VS Code 생태계는 이 구조를 바탕으로 만들어졌다고 설명함.
- Language Server Protocol의 역할
언어별 개발 기능을 각 편집기에 따로 구현하면 개발 비용과 유지보수 부담이 커짐.
이를 줄이기 위해 언어 서버와 편집기가 JSON-RPC 방식으로 통신하는 공통 규격인 Language Server Protocol을 개발함.
언어 개발자는 자신이 익숙한 언어로 언어 서버를 만들 수 있고
하나의 구현을 VS Code, Vim, Eclipse 등 여러 편집기에서 활용할 수 있음.
이 방식은 Go, Java, Rust, PowerShell 같은 다양한 언어의 개발 환경 확산에 기여한 것으로 설명됨.
- 원격 개발과 클라우드 환경 지원
데이터 과학자, 기업 개발자, WSL 사용자, Docker 사용자들은 코드와 실행 환경이 서로 다른 위치에 있는 경우가 많았음.
VS Code는 화면을 담당하는 부분과 파일·도구를 실행하는 부분을 분리해 원격 환경을 지원함.
Remote SSH, WSL, Dev Containers를 통해
원격 서버, 리눅스 환경, 컨테이너 안에서 VS Code 기능을 사용할 수 있게 됨.
이 구조는 VS Code for the Web과 GitHub Codespaces로 이어졌고
설치 없이 브라우저에서 개발 환경에 접근하는 방식으로 확장됨.
- 접근성과 개방성을 제품의 핵심 기준으로 설정
VS Code 팀은 시각장애인 개발자와 스크린 리더 사용자를 포함해 다양한 사용자가 제품을 이용할 수 있도록 접근성 기능을 개발함.
키보드 조작, 화면 읽기, 자동 접근성 테스트 등을 제품 개발 과정에 포함했고
접근성을 단순한 부가 기능이 아닌 기본 품질 기준으로 다뤘다고 설명함.
영상에서는 VS Code의 확산 요인으로 좋은 편집 경험, 개방적인 생태계, 무료 접근성을 제시함.
- GitHub Copilot과 에이전트형 개발로의 변화
초기 Copilot은 코드 자동 완성 기능에서 출발했음.
모델의 제안이 틀리더라도 개발자가 계속 입력하면 되기 때문에 사용 부담이 낮았고, VS Code 안에 자연스럽게 통합된 점이 확산에 영향을 줬다고 설명함.
이후 AI 기능은 질문에 답하는 단계에서 파일을 직접 수정하는 단계로 발전함.
현재는 여러 도구를 호출하고 작업 계획을 세우며 코드를 수정하는 Agent Mode까지 확장되고 있음.
영상에서는 개발자의 역할도 코드를 한 줄씩 작성하는 데서
아이디어를 구체화하고, 에이전트에게 작업을 맡기고, 결과를 검증하는 방향으로 바뀔 수 있다고 전망함.
- VS Code의 지속적인 발전 방식
VS Code 팀은 한 번에 완성된 제품을 만드는 방식보다
사용자 피드백을 받아 기능을 조금씩 개선하고 실제 배포를 반복하는 방식을 유지해 왔다고 설명함.
새로운 기능은 내부 테스트와 사용자 피드백을 거쳐 안정 버전으로 제공함.
AI 시대에는 변화 속도가 빨라 장기적인 세부 로드맵보다 큰 방향과 빠른 검증이 중요해졌다고 봄.
VS Code의 성장 과정은 특정 기능 하나의 성공보다 전략 전환, 오픈소스, 표준화, 확장성, 원격 개발이 누적된 결과로 정리할 수 있음.
특히 초기의 웹 기반 편집기 구조가 이후 브라우저 개발, 클라우드 환경, AI 에이전트까지 연결된 점이 핵심으로 보임.
제품의 장기적인 경쟁력은 기능 수보다 변화하는 개발 방식에 맞춰 구조를 계속 바꿀 수 있는지에 달려 있다는 설명이 설득력 있게 제시됨.