dotnet-watch-attach
is a very simple extension which supports developers working with the dotnet watch
(link) command. It is basically a simple wrapper around the coreclr
debugger from the c# extension which watches your process list for a given processname.
Configuration is simple, since 0.2.0
you will only need a single task which defines a command that uses the dotnet watch
command. This task is then used in the dotnetwatchattach
debug configuration. For the task
property, use the label for the earlier defined task. The coreclr
attach task is fully configurable using the args
property. A fully configured example can be found here
// launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "dotnetwatchattach",
"request": "launch",
"name": ".NET Watch Attach",
"args": { // Args to pass to coreclr attach
"env": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"task": "watchTaskName", // Label of watch task in tasks.json
"program": "<startup-project-name>.exe" // for windows Or "<startup-project-name>" for linux
}
]
}
// tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "watch",
"command": "dotnet",
"type": "process",
"linux": {
"options": {
"env": {
// The FileSystemWatcher used by default wasnt working for me on linux, so I switched to the polling watcher.
"DOTNET_USE_POLLING_FILE_WATCHER": "true"
}
}
},
"args": [
"watch",
"run",
"${workspaceFolder}/<path-to-project>.csproj",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"problemMatcher": "$msCompile"
}
]
}
Please create an issue / PR for any problems you may encounter.