vscode

AI Coding ToolsEditorTypeScript

★ 192,123주당 +505

무엇인가

Code - OSS는 편집기 제품의 상류(upstream) 소스 저장소다. 마이크로소프트가 커뮤니티와 함께 코드와 이슈를 관리하고, 로드맵·월간 반복 계획·릴리스 마무리 계획을 이곳에서 공개한다. 저장소 자체는 MIT 라이선스로 공개되지만, code.visualstudio.com에서 배포되는 Visual Studio Code는 마이크로소프트 고유 커스터마이징이 더해진 별도 배포판이며 전통적인 마이크로소프트 제품 라이선스를 따른다.

어떻게 동작하나

실행 구조는 Electron 기반이다. Chromium 렌더러가 워크벤치 UI를 그리고, Node.js 메인 프로세스가 창·파일·프로세스 수명을 관리한다. 편집기 코어는 Monaco라 불리는 텍스트 편집 컴포넌트다. 확장은 별도의 확장 호스트 프로세스에서 실행되어 UI 스레드를 막지 않는다. 언어 지원은 LSP(Language Server Protocol), 디버깅은 DAP(Debug Adapter Protocol)로 편집기 본체와 분리되어 있다. 저장소의 extensions 폴더에는 문법과 스니펫을 제공하는 내장 확장이 들어 있고, 인라인 제안·정의 이동 같은 풍부한 언어 지원을 담당하는 확장에는 language-features 접미사가 붙는다.

무엇과 다른가

네이티브 편집기나 JVM 기반 IDE와 달리 Electron 위에서 동작하며, 언어 지원과 디버깅을 프로토콜로 외부화한 것이 구조적 차이다. 언어 서버와 디버그 어댑터를 별도 프로세스로 두기 때문에 같은 편집기 코어가 여러 언어를 동일한 방식으로 다룬다. 확장 호스트를 분리한 것도 같은 계열의 설계로, 확장 하나가 멈춰도 편집기 UI는 계속 동작한다.

어떻게 쓰나

Windows·macOS·Linux용 빌드는 code.visualstudio.com에서 내려받고, 매일 갱신되는 최신 빌드는 Insiders 빌드로 설치한다. 소스에서 직접 빌드하고 실행하는 절차는 How to Contribute 문서가 다룬다. 개발 환경은 Dev Containers와 GitHub Codespaces용 컨테이너 정의를 저장소에 포함한다. Dev Containers에서는 Dev Containers: Clone Repository in Container Volume... 명령으로 소스를 Docker 볼륨에 복제해 띄우고, Codespaces에서는 VS Code에 GitHub Codespaces 확장을 설치한 뒤 Codespaces: Create New Codespace 명령을 쓴다.

전제와 한계

저장소는 제품이 아니라 소스다. 배포판에 포함된 마이크로소프트 고유 확장과 서비스는 이 저장소에 없고, 마켓플레이스 확장의 사용 조건도 배포판과 다르다. 전체 빌드를 돌리려면 Docker 또는 Codespace에 최소 4코어와 6GB RAM(8GB 권장)이 필요하다.

관련 논문 1

유사 도구