Vscode dotnet debug
Practical Claude Code skills for real-world project development - by HH
npx -y skills add hsinhan-h/hh-claude-skills --skill vscode-dotnet-debugAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
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"。
SKILL.md
3.3 KB, 762 tokens by cl100k_base, as published. Nobody here has run it
VS Code Debug Setup
Workflow
Step 1 — Scan projects
Glob: **/*.csproj (exclude bin/ and obj/ directories)
Read each .csproj and classify:
- Web project:
Sdkattribute isMicrosoft.NET.Sdk.Web - Test project:
PackageReferencecontainsxunit,MSTest, orNUnit(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 (
.csprojfilename without extension)
Step 2 — Read port settings
For each web project, read {ProjectDir}/Properties/launchSettings.json:
- Find the first non-IIS-Express profile (
commandNameis not"IISExpress") - Take
applicationUrl— full value (e.g.https://localhost:5001;http://localhost:5000) - Also extract
{httpsUrl}— the https-only portion (e.g.https://localhost:5001) - If
launchUrlis present (e.g.swagger), record it for use inuriFormat
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.
Step 4 — Generate launch.json
For each web project, generate two launch configurations in sequence:
- Standard launch:
type: coreclr,preLaunchTask: "build: {ProjectName}", full.dllpath asprogram,cwdset to project dir,console: "integratedTerminal",sourceFileMap, andserverReadyAction; useuriFormat: "{httpsUrl}/{launchUrl}"whenlaunchUrlis present, otherwise"{httpsUrl}/" - Hot Reload launch:
program: "dotnet",args: ["watch", "--project", ..., "--non-interactive", "run", "--no-restore", "--", "--urls={applicationUrl}"], nopreLaunchTask,cwdset to workspace root,console: "integratedTerminal",sourceFileMap, andserverReadyAction
For each test project: one launch config with program: "dotnet", args: ["test", ...], console: "integratedTerminal".
Always append an "Attach to Process" config at the end.
≥ 2 web projects: add two compounds entries:
- Standard compound — launches all web projects using their standard configs
- Hot Reload compound — launches all web projects using their Hot Reload configs
See REFERENCE.md § launch.json.
Step 5 — Write files
mkdir -p .vscode(if not exists)- Write
.vscode/tasks.json - Write
.vscode/launch.json - Report each web project name, its URL, and confirm that standard + hot reload configs were generated
What ships with it: 1 file
7.0 KB alongside SKILL.md
- REFERENCE.md7.0 KB