← ClaudeAtlas

vscode-debug-setuplisted

Automatically generate .vscode/launch.json and .vscode/tasks.json debug configurations for .NET projects, with browser auto-open, hot reload (dotnet watch) support, and multi-project compound launch support. Use when user asks to create VS Code debug files, set up debugging, configure launch.json or tasks.json for a .NET project, or mentions "debug 設定"、"除錯設定"、"launch.json"、"建debug檔"、"hot reload"、"dotnet watch"。
hsinhan-h/hh-claude-skills · ★ 0 · Code & Development · score 60
Install: claude install-skill hsinhan-h/hh-claude-skills
# VS Code Debug Setup ## Workflow ### Step 1 — Scan projects ``` Glob: **/*.csproj (exclude bin/ and obj/ directories) ``` Read each `.csproj` and classify: - **Web project**: `Sdk` attribute is `Microsoft.NET.Sdk.Web` - **Test project**: `PackageReference` contains `xunit`, `MSTest`, or `NUnit` (case-insensitive) - **Class Library**: everything else — skip, no launch config needed Also collect per project: - `<TargetFramework>` value (e.g. `net9.0`) - Project directory (path relative to workspace root) - Project name (`.csproj` filename without extension) ### Step 2 — Read port settings For each **web project**, read `{ProjectDir}/Properties/launchSettings.json`: 1. Find the first non-IIS-Express profile (`commandName` is not `"IISExpress"`) 2. Take `applicationUrl` — full value (e.g. `https://localhost:5001;http://localhost:5000`) 3. Also extract `{httpsUrl}` — the https-only portion (e.g. `https://localhost:5001`) 4. If `launchUrl` is present (e.g. `swagger`), record it for use in `uriFormat` ### Step 3 — Generate tasks.json For each **web + test project**, one `"build: {ProjectName}"` task. Add a `"build: solution"` task (`isDefault: true`) that builds the whole `.sln` (Glob `*.sln` to get the path). For each **web project**, also add a `"watch: {ProjectName}"` background task using `dotnet watch` for hot reload. See [REFERENCE.md § tasks.json](REFERENCE.md#tasksjson-template). ### Step 4 — Generate launch.json For each **web project**, generate **two** launc