microsoft /

VS Code

Live map
Snapshotmain · 09b07fe

An Electron app split across main process, workbench renderer, editor model, files, and isolated extensions.

Click a building or route
Choose a path

Open the renderer, register services, and prepare editor and extension subsystems.

System map8 components · 10 connections
130%
VS Code process city architectureRead top to bottom for startup, then follow edits around the model, widget, file service, and extension host.workspace + profile + …service collection + l…IFileService dependencyeditor input + layout …activation event + ext…extension descriptions…WorkbenchRendererElectron MainServiceContainerFile ServiceExtensionServiceText ModelEditor WidgetExtension Host
Connections
BuildingsEntryServiceComputeStorageRuntimeToolingExternal

Terms, in plain English

Electron main processThe privileged Node.js process owning native windows, lifecycle, and desktop integration.

How to study this repo

  1. 1
    Draw process boundaries

    Read main and renderer startup side by side and mark every IPC crossing.

  2. 2
    Follow one edit

    Trace executeEdits into TextModel and back through change events.

  3. 3
    Add extensions last

    Follow an activation event through ExtensionService, its host, and a main-thread proxy.