Implementation:Microsoft Semantic kernel VSCode Tasks Configuration
| Knowledge Sources | |
|---|---|
| Domains | Developer_Tooling, Build_Configuration |
| Last Updated | 2026-02-11 00:00 GMT |
Overview
Concrete VS Code task runner configuration for the Semantic Kernel .NET development workflow provided by the repository's .vscode directory.
Description
This file is a VS Code tasks.json configuration that defines a comprehensive set of build, test, formatting, and setup tasks for the Semantic Kernel .NET solution. It includes tasks organized into several categories:
- Contributing Setup -- Tasks for installing ReSharper global tools (setup (contributing-R#)), creating a tool manifest, and running code format checks via JetBrains InspectCode and CleanupCode.
- Kernel Build and Test -- Tasks for building the SK-dotnet.sln solution in Release configuration, running unit tests on SemanticKernel.UnitTests, Extensions.UnitTests, and integration tests with optional code coverage collection in lcov format.
- Samples -- Tasks for building and running the Concepts sample project, the CopilotAgentPlugins demo sample, and the ProcessWithDapr demo with Dapr sidecar support.
- Validation Composite -- A sequential composite task (validate) that chains R# cleanup, build, test, and run in order.
The file also defines an inputs section with a promptString input named filter that allows developers to pass runtime arguments or test filters interactively.
Usage
Developers working on the Semantic Kernel .NET codebase use this file when they open the repository in VS Code. The tasks appear in the Terminal > Run Task menu (or via Ctrl+Shift+P > Tasks: Run Task). Common scenarios include:
- First-time setup: Running setup (contributing-R#) to install ReSharper tooling.
- Pre-commit validation: Running validate (contributing-Format-Build-Test-Run) to ensure code formatting, build, and tests all pass before submitting a pull request.
- Running individual test suites with optional code coverage.
- Building and debugging the ProcessWithDapr demo with Dapr sidecar integration.
Code Reference
Source Location
- Repository: Microsoft_Semantic_kernel
- File: .vscode/tasks.json
- Lines: 1-325
Signature
{
"version": "2.0.0",
"tasks": [
{
"label": "setup (contributing-R#)",
"detail": "",
"group": "build",
"dependsOn": ["new tool-manifest", "# Setup"],
"dependsOrder": "sequence"
},
{
"label": "new tool-manifest",
"detail": "Install ReSharper Global Tools",
"command": "dotnet",
"type": "process",
"args": ["new", "tool-manifest"],
"options": { "cwd": "${workspaceFolder}/dotnet" }
},
{
"label": "build (Semantic-Kernel)",
"command": "dotnet",
"type": "process",
"args": ["build", "${workspaceFolder}/dotnet/SK-dotnet.sln",
"--configuration", "Release"],
"problemMatcher": "$msCompile",
"group": "build"
},
{
"label": "test (Semantic-Kernel)",
"command": "dotnet",
"type": "process",
"args": ["test", "SemanticKernel.UnitTests.csproj"],
"problemMatcher": "$msCompile",
"group": "test"
}
]
}
Import
This file is automatically loaded by VS Code when the repository is opened
as a workspace. No explicit import is required. Tasks become available via
Terminal > Run Task or the Command Palette (Ctrl+Shift+P > Tasks: Run Task).
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| filter | string (promptString) | no | Runtime filter argument passed to dotnet test or dotnet run commands. Used for test filtering or selecting specific concepts to run. |
| workspaceFolder | string (VS Code variable) | yes | The root directory of the VS Code workspace, resolved automatically by VS Code. |
Outputs
| Name | Type | Description |
|---|---|---|
| Build artifacts | .NET assemblies | Compiled binaries from dotnet build in Release configuration. |
| Test results | XPlat Code Coverage (lcov) | Code coverage reports written to dotnet/TestResults/ when running coverage tasks. |
| inspectcode.log | Text file | ReSharper code inspection results output by the format-check task. |
Usage Examples
Running Build from VS Code Task Runner
1. Open the repository in VS Code.
2. Press Ctrl+Shift+P and type "Tasks: Run Task".
3. Select "build (Semantic-Kernel)" to build the full solution.
Running Unit Tests with Code Coverage
1. Press Ctrl+Shift+P and type "Tasks: Run Task".
2. Select "test (Semantic-Kernel (Code Coverage))".
3. When prompted, enter a test filter (or leave blank for all tests).
4. Coverage results are written to dotnet/TestResults/ in lcov format.
Running the Full Validation Pipeline
1. Press Ctrl+Shift+P and type "Tasks: Run Task".
2. Select "validate (contributing-Format-Build-Test-Run)".
3. This sequentially runs: R# cleanup -> build -> test -> run demo.