Skip to content

Local IDE Setup

VS Code and Cursor configuration for Aspire monorepos. Commit .vscode/ files to the project repository so every contributor gets the same debug experience.


Commit .vscode/extensions.json:

Extension IDPurpose
ms-dotnettools.csdevkitC# debugging
ms-dotnettools.vscode-dotnet-runtime.NET runtime
ms-azuretools.vscode-aspireAspire dashboard integration
dbaeumer.vscode-eslintFrontend lint (when applicable)

Launch configurations

Copy docs/templates/config/vscode-launch.json to .vscode/launch.json and replace {ProjectName} with your project name.

Typical configs:

ConfigUse
Debug AppHostFull-stack local dev with Aspire
Debug WebApi (standalone)Manual path without Aspire
Attach to Next.js (port 9229)Frontend debugging
Compound: Aspire + Next.jsAPI and frontend breakpoints together

Start Next.js with inspect enabled:

Terminal window
NODE_OPTIONS='--inspect' pnpm dev:web

Tasks

Optional .vscode/tasks.json entries:

TaskMaps to
bootstrapSubmodule init, dotnet tool restore, pnpm install
db:migrateRoot pnpm db:migrate
dev:aspireRoot pnpm dev:aspire

Optional devcontainer

For teams that want identical toolchains, copy docs/templates/config/devcontainer/devcontainer.json. Requires Docker. Not required for standards compliance.


References

  • docs/conventions/backend/deployment-and-migrations.md — Aspire orchestration
  • docs/conventions/shared/ci.md — root script conventions