{ "version": "2.0.0", "tasks": [ { "label": "Install Backend Dependencies", "type": "shell", "command": "npm", "args": ["install"], "options": { "cwd": "${workspaceFolder}/backend" }, "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" } }, { "label": "Install Frontend Dependencies", "type": "shell", "command": "npm", "args": ["install"], "options": { "cwd": "${workspaceFolder}/frontend" }, "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" } }, { "label": "๐Ÿ–ฅ๏ธ Backend", "type": "shell", "command": "npm", "args": ["run", "dev"], "options": { "cwd": "${workspaceFolder}/backend" }, "group": "build", "isBackground": true, "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "dedicated", "group": "dev", "showReuseMessage": false }, "problemMatcher": { "pattern": { "regexp": "^.*$", "file": 1, "location": 2, "message": 3 }, "background": { "activeOnStart": true, "beginsPattern": "^.*ts-node-dev.*$", "endsPattern": "^๐Ÿš€ Backend Server lรคuft auf Port \\d+$" } } }, { "label": "๐ŸŒ Frontend", "type": "shell", "command": "npm", "args": ["start"], "options": { "cwd": "${workspaceFolder}/frontend", "env": { "BROWSER": "none" } }, "group": "build", "isBackground": true, "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "dedicated", "group": "dev", "showReuseMessage": false }, "problemMatcher": { "owner": "custom", "pattern": { "regexp": "^.*$", "file": 1, "location": 2, "message": 3 }, "background": { "activeOnStart": true, "beginsPattern": "^.*Starting the development server.*$", "endsPattern": "^.*webpack compiled.*$" } } }, { "label": "๐Ÿ›‘ Kill Frontend Process", "type": "shell", "command": "pkill", "args": ["-f", "npm start"], "options": { "cwd": "${workspaceFolder}/frontend" }, "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": [] }, { "label": "๐Ÿ›‘ Kill Backend Process", "type": "shell", "command": "pkill", "args": ["-f", "ts-node-dev"], "options": { "cwd": "${workspaceFolder}/backend" }, "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": [] }, { "label": "๐Ÿ“Š Show Development Processes Status", "type": "shell", "command": "bash", "args": [ "-c", "echo '๐Ÿ“Š Aktuelle Development-Prozesse:'; echo ''; ps aux | grep -E 'npm.*start|react-scripts|ts-node-dev' | grep -v grep | awk '{print \"PID: \" $2 \" - \" $11 \" \" $12 \" \" $13}' || echo 'Keine Development-Prozesse gefunden'" ], "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": [] }, { "label": "๐Ÿ›‘ Cleanup Development Processes", "type": "shell", "command": "bash", "args": [ "-c", "pkill -f 'ts-node-dev' > /dev/null 2>&1 || true; pkill -f 'npm.*start' > /dev/null 2>&1 || true; pkill -f 'react-scripts' > /dev/null 2>&1 || true" ], "group": "build", "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "shared", "clear": false, "showReuseMessage": false, "close": true }, "problemMatcher": [], "isBackground": false, "runOptions": { "reevaluateOnRerun": true } }, { "label": "๐Ÿงน Post Debug Cleanup", "type": "shell", "command": "bash", "args": ["-c", "/workspace/scripts/post-debug-cleanup.sh"], "group": "build", "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "new", "clear": false, "showReuseMessage": false, "close": true }, "problemMatcher": [], "isBackground": false, "runOptions": { "reevaluateOnRerun": true, "runOn": "default" } }, { "label": "๐Ÿ”„ Force Kill All Dev Processes", "type": "shell", "command": "bash", "args": [ "-c", "RANDOM_ID=$RANDOM; echo \"Cleanup ID: $RANDOM_ID\" > /dev/null; pkill -9 -f 'ts-node-dev' > /dev/null 2>&1 || true; pkill -9 -f 'npm.*start' > /dev/null 2>&1 || true; pkill -9 -f 'react-scripts' > /dev/null 2>&1 || true" ], "group": "build", "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "shared", "clear": false, "showReuseMessage": false, "close": true }, "problemMatcher": [] }, { "label": "๐Ÿ›‘ Terminate All Development Processes", "type": "shell", "command": "/workspace/scripts/kill-dev-processes.sh", "args": [], "group": "build", "presentation": { "echo": false, "reveal": "never", "focus": false, "panel": "shared", "clear": false, "showReuseMessage": false, "close": true }, "problemMatcher": [], "runOptions": { "runOn": "default" } }, { "label": "๐Ÿ›‘ Terminate All Development Processes (Verbose)", "type": "shell", "command": "/workspace/scripts/kill-dev-processes.sh", "args": [], "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "dedicated", "clear": true, "showReuseMessage": false }, "problemMatcher": [] }, { "label": "๐Ÿš€ Start Full Stack (Split Terminal)", "dependsOrder": "parallel", "dependsOn": ["๐Ÿ–ฅ๏ธ Backend", "๐ŸŒ Frontend"], "group": { "kind": "build", "isDefault": true }, "presentation": { "reveal": "always", "panel": "new" } }, { "label": "๐Ÿ”„ Restart Full Stack", "type": "shell", "command": "bash", "args": [ "-c", "/workspace/scripts/kill-dev-processes.sh && sleep 2 && echo '๐Ÿš€ Starte Full Stack...' && code --command 'workbench.action.tasks.runTask' 'shell: ๐Ÿš€ Start Full Stack (Split Terminal)'" ], "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared", "clear": true }, "problemMatcher": [] }, { "label": "Build Backend", "type": "shell", "command": "npm", "args": ["run", "build"], "options": { "cwd": "${workspaceFolder}/backend" }, "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" }, "problemMatcher": ["$tsc"] }, { "label": "Build Frontend", "type": "shell", "command": "npm", "args": ["run", "build"], "options": { "cwd": "${workspaceFolder}/frontend" }, "group": "build", "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" } } ] }