← microsoft/vscode
CodeVetter · Repo Unpack · System map

microsoft/vscode

Scanned commit f6439326f6 dated 2026-09-22 — last upstream commit. Generated by codevetter codevetter 1.12.0 on 2026-09-22. Deep analysis by swe-2 via the devin CLI on 2026-09-22 (runtime not recorded).

The system is a multi-process Electron application with parallel web and server builds. src/main.ts is the Electron main entry that reads argv.json, configures sandboxing and privileged schemes, then loads src/vs/code/electron-main/main.ts, which manually assembles a DI ServiceCollection, claims a single-instance IPC socket, and hands off to CodeApplication. The renderer boots the workbench through import-barrel entrypoints (workbench.desktop.main.ts / workbench.web.main.ts / workbench.common.main.ts) that register singleton services and contributions. Auxiliary processes — shared process, pty host, extension hosts, agent host — are spawned as Electron utility processes or Node forks and communicate over named IPC channels. A separate Rust crate under cli/ implements the `code` command-line launcher, tunnel daemon, and web server host, while src/vs/server and remote/ implement the remote extension host agent (vscode-reh).