This repository hosts Microsoft's SQL-related VS Code extensions that deliver end-to-end SQL development workflows. The original MSSQL extension now lives side-by-side with the SQL Database Projects extension.
mssql/– Primary MSSQL extension that provides connection management, editors, Copilot integration, notebooks, dashboards, and packaging tooling.sql-database-projects/– SQL Database Projects extension focused on SQL project authoring, build, publish, and schema comparison experiences.typings/– Shared.d.tsshims for first-party dependencies (azdata, dataworkspace, mssql, vscode-mssql).
- Node.js
>= 20.19.4 - Yarn
>= 1.22 - VS Code
>= 1.98.0
All commands below should be executed from the extension’s folder unless noted otherwise.
cd mssql
# Development
yarn # install extension dependencies
yarn watch # continuous build (extension + webviews + bundles)
yarn build # one-off full build
yarn package [--online|--offline] # produces VSIX
# Testing
yarn test # run unit tests
yarn smoketest # run end-to-end tests (requires SQL instance)cd sql-database-projects
# Development
yarn # install extension dependencies
yarn watch # continuous build (extension + webviews + bundles)
yarn build # one-off full build
yarn package # produces VSIX
# Testing
yarn test # run unit tests; NOT CURRENTLY WORKING- Open the repository root in VS Code.
- Run
yarn watchfrom either or both extension subfolders - Execute a VS Code launch configuration:
Run MSSQL ExtensionRun SQL Database Projects ExtensionRun Both Extensions(launches two Extension Host windows, one per extension)
- Keep the extensions independent—run
yarn installinside each folder instead of the repo root. - Shared code (e.g., telemetry helpers, typings) should live under
typings/or a new sibling package to avoid implicit cross-imports. - When editing build or launch configuration, ensure both extensions continue to debug cleanly from the new root-level
.vscode/launch.json. - Before opening a PR, document which extension you changed and how you validated it (commands above or manual scenarios).