chore: add VS Code workspace configuration for debugging and tasks

This commit is contained in:
Stevan Freeborn
2026-07-29 16:29:22 -05:00
parent f206dcd5fb
commit 2bd77c0329
4 changed files with 160 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
{
"recommendations": [
"Vue.volar",
"ms-dotnettools.csharp",
"ms-dotnettools.vscode-dotnet-runtime",
"ms-azuretools.vscode-docker",
"tamasfe.even-better-toml"
]
}
+55
View File
@@ -0,0 +1,55 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Backend",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickRemoteProcess}",
"pipeTransport": {
"pipeProgram": "docker",
"pipeArgs": ["exec", "-i", "paragonplayground-backend"],
"debuggerPath": "/vsdbg/vsdbg",
"pipeCwd": "${workspaceFolder}",
"quoteArgs": false
},
"preLaunchTask": "docker-compose up (backend only)",
"sourceFileMap": {
"/src/src/ParagonPlayground.Api": "${workspaceFolder}/src/ParagonPlayground/backend/src/ParagonPlayground.Api",
"/src/src/ParagonPlayground.Domain": "${workspaceFolder}/src/ParagonPlayground/backend/src/ParagonPlayground.Domain",
"/src/src/ParagonPlayground.Infrastructure": "${workspaceFolder}/src/ParagonPlayground/backend/src/ParagonPlayground.Infrastructure"
},
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"logging": {
"moduleLoad": false
}
},
{
"name": "Attach to Frontend",
"type": "chrome",
"request": "launch",
"url": "${input:frontendUrl}",
"webRoot": "${workspaceFolder}/src/ParagonPlayground/frontend/src",
"sourceMapPathOverrides": {
"/app/src/*": "${webRoot}/*",
"webpack:///src/*": "${webRoot}/*"
}
},
{
"name": "Attach to All",
"type": "compound",
"preLaunchTask": "docker-compose up",
"configurations": ["Attach to Backend", "Attach to Frontend"]
}
],
"inputs": [
{
"id": "frontendUrl",
"type": "promptString",
"description": "Full URL (e.g. https://myorg.paragonplayground.localhost)",
"default": "https://myorg.paragonplayground.localhost"
}
]
}
+3
View File
@@ -0,0 +1,3 @@
{
"FSharp.suggestGitignore": false
}
+93
View File
@@ -0,0 +1,93 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "docker-compose up",
"type": "shell",
"command": "docker compose -f docker-compose.dev.yml up -d --build",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": [],
"group": "none",
"detail": "Build and start all services (Vite dev server runs in Docker on port 3000)"
},
{
"label": "docker-compose up (backend only)",
"type": "shell",
"command": "docker compose -f docker-compose.dev.yml up -d --build mongodb backend nginx",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": [],
"group": "none",
"detail": "Backend only (no frontend container — port 3000 free for local Vite dev)"
},
{
"label": "docker-compose down",
"type": "shell",
"command": "docker compose -f docker-compose.dev.yml down",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": [],
"group": "none",
"detail": "Stop and remove all services"
},
{
"label": "docker-compose restart",
"type": "shell",
"command": "docker compose -f docker-compose.dev.yml restart",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": [],
"group": "none",
"detail": "Restart all services"
},
{
"label": "build backend",
"type": "shell",
"command": "dotnet build backend/ParagonPlayground.slnx --configuration Debug",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": "$msCompile",
"group": "build",
"detail": "Build the .NET solution"
},
{
"label": "test backend",
"type": "shell",
"command": "dotnet test backend/ParagonPlayground.slnx --configuration Debug --no-build --verbosity normal",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": "$msCompile",
"group": "test",
"detail": "Run .NET tests"
},
{
"label": "install dependencies",
"type": "shell",
"command": "scripts/install.ps1",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": [],
"group": "none",
"detail": "Restore .NET packages and install npm dependencies"
},
{
"label": "clean backend",
"type": "shell",
"command": "dotnet clean backend/ParagonPlayground.slnx && Get-ChildItem -Path backend -Include bin,obj -Recurse -Directory | Remove-Item -Recurse -Force",
"options": {
"cwd": "${workspaceFolder}/src/ParagonPlayground"
},
"problemMatcher": [],
"group": "none",
"detail": "Clean .NET build artifacts"
}
]
}