{ // VS Code 任务配置 // 文档:https://code.visualstudio.com/docs/editor/tasks "version": "2.0.0", "tasks": [ { // 构建整个解决方案,是 launch.json 启动前的默认 preLaunchTask "label": "build", "command": "dotnet", "type": "process", "args": [ "build", "${workspaceFolder}/FlyshotReplacement.sln", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", "-v", "minimal" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": "$msCompile", "presentation": { "reveal": "silent", "clear": true } }, { // 仅构建宿主项目,迭代 Web 层时比整解决方案快 "label": "build-host", "command": "dotnet", "type": "process", "args": [ "build", "${workspaceFolder}/src/Flyshot.Server.Host/Flyshot.Server.Host.csproj", "/property:GenerateFullPaths=true", "/consoleloggerparameters:NoSummary", "-v", "minimal" ], "group": "build", "problemMatcher": "$msCompile" }, { // 还原 NuGet 包,新增引用或克隆后第一次打开时使用 "label": "restore", "command": "dotnet", "type": "process", "args": [ "restore", "${workspaceFolder}/FlyshotReplacement.sln" ], "problemMatcher": [] }, { // 清理所有项目的 bin/obj "label": "clean", "command": "dotnet", "type": "process", "args": [ "clean", "${workspaceFolder}/FlyshotReplacement.sln" ], "problemMatcher": "$msCompile" }, { // 跑全部测试(领域 + 集成) "label": "test", "command": "dotnet", "type": "process", "args": [ "test", "${workspaceFolder}/FlyshotReplacement.sln", "--no-restore", "-v", "minimal" ], "group": { "kind": "test", "isDefault": true }, "problemMatcher": "$msCompile" }, { // 仅跑领域 / 算法层测试,迭代规划逻辑时使用 "label": "test-core", "command": "dotnet", "type": "process", "args": [ "test", "${workspaceFolder}/tests/Flyshot.Core.Tests/Flyshot.Core.Tests.csproj", "-v", "minimal" ], "group": "test", "problemMatcher": "$msCompile" }, { // 仅跑宿主集成测试,迭代 HTTP / 控制器层时使用 "label": "test-integration", "command": "dotnet", "type": "process", "args": [ "test", "${workspaceFolder}/tests/Flyshot.Server.IntegrationTests/Flyshot.Server.IntegrationTests.csproj", "-v", "minimal" ], "group": "test", "problemMatcher": "$msCompile" }, { // 启动宿主,供 launch.json 的 watch 配置作为前置任务 "label": "watch", "command": "dotnet", "type": "process", "args": [ "watch", "run", "--project", "${workspaceFolder}/src/Flyshot.Server.Host/Flyshot.Server.Host.csproj", "--launch-profile", "http" ], "isBackground": true, "problemMatcher": { "owner": "dotnet-watch", "pattern": [ { "regexp": "^.*$", "file": 1, "location": 2, "message": 3 } ], "background": { "activeOnStart": true, "beginsPattern": "^.*Watch run started.*$", "endsPattern": "^.*Application started.*$" } } }, { // Release 配置发布到 publish/,用于现场部署包打包 "label": "publish", "command": "dotnet", "type": "process", "args": [ "publish", "${workspaceFolder}/src/Flyshot.Server.Host/Flyshot.Server.Host.csproj", "-c", "Release", "-o", "${workspaceFolder}/publish" ], "problemMatcher": "$msCompile" } ] }