The Dapr extension makes it easy to setup debugging of applications within the Dapr environment as well as interact with applications via the Dapr runtime.
Supported platforms:
- MacOS
- Linux
- Windows
Some Dapr 1.10 features, such "run files", are not supported on "native" Windows but can still be run within WSL on Windows.
Local development with Dapr requires a running instance of Docker; follow the Docker guide to installing Docker Desktop for your platform.
Follow the Dapr guide to install the Dapr CLI for your platform and initialize the Dapr runtime.
This extension requires:
- Dapr CLI version 1.10.0 or later
- Dapr Runtime version 1.9.0 or later
Follow the VS Code guide for installing VS Code for your platform.
This extension requires Visual Studio Code version 1.74.0 or later.
Dapr 1.10 enables starting multiple Dapr applications through the use of a "run file", and the Dapr extension allows you to start the "run" directly from the File Explorer.
The Dapr extension also allows you to start multiple Dapr applications through a single dapr
task by just referencing the run file.
Sample tasks.json
:
{
"version": "2.0.0",
"tasks": [
{
"label": "dapr",
"type": "dapr",
"runFile": "./dapr.yaml"
}
]
}
When working with Dapr run files, the extension provides you with basic schema prompts and validation:
Dapr CLI 1.10 now tracks the application started via dapr run
, which enables the Dapr extension to attach the debugger to running instances, whether started inside or outside of VS Code, directly from the Dapr applications view.
The debugger can be attached to individual applications, or to all applications in a run.
The Dapr extension also enables "F5" debugging of Dapr applications through a new custom debug launch configuration, which will automatically start and attach to the applications. Individual applications can be included or excluded from the set of applications the debugger attaches to.
Sample launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Dapr",
"request": "launch",
"type": "dapr",
"runFile": "${workspaceFolder}/dapr.yaml",
"includeApps": ["csharp-subscriber", "node-subscriber"],
"preLaunchTask": "dapr"
}
]
}
When using Dapr run files, Dapr redirects the application and Dapr sidecar logs to application-specific locations (rather than writing them to the console). The Dapr extension enables you to open these logs directly from the Dapr applications view.
While extensions for Visual Studio Code make it easy to debug applications for a variety of platforms (like .NET Core, Node.js, Python, etc.), coordinating the debugger with the Dapr runtime can be tricky. The Dapr extension helps scaffold VS Code tasks, augments debug launch configurations, and (optionally) generates the Dapr component assets needed to debug your application within the Dapr environment.
The Dapr extension adds a new tab which shows locally-running Dapr applications and allows quickly invoking application methods or publishing events.
When your application is running, you can quickly invoke its GET/POST methods without using a command line or switching to another HTTP request tool, including specifying an optional payload for POST methods.
You can also use the extension to directly publish events to running applications, specifying both the topic and an optional payload.
The Dapr extension allows you to directly stop locally-running applications without using the command line.
The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.
If you don’t wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry
setting to false
. Learn more in our FAQ.
This project has adopted the Microsoft Open Source Code of Conduct.