← microsoft/vscode
CodeVetter · Repo Unpack · Extension points

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).

VS Code is essentially a registry machine. Internal code plugs in through: (1) registerSingleton for DI services with eager/delayed instantiation; (2) the generic Registry.as() pattern for typed contribution registries; (3) WorkbenchContributionsRegistry keyed by lifecycle phase; (4) registerAction2/MenuId for commands+menus; (5) ConfigurationRegistry for settings schema; (6) ExtensionsRegistry/ExtensionPoint<T> which materializes the 59 declared contribution points in extensionPoints.json. External extensions plug in through package.json contributions plus the `vscode` API built per-extension by createApiFactoryAndRegisterActors, with proposed APIs gated by extensionsApiProposals.