microsoft / microsoft/vscode-generator-code
VS Code tasks fail to run when esbuild-problem-matchers extension is not installed
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.6k
- Forks
- 262
- Avg merge
- 15d 22h
- Merged PRs (30d)
- 1
Description
Problem
This project ships a .vscode/tasks.json that references the $esbuild-watch problem matcher:
"problemMatcher": "$esbuild-watch"
However, $esbuild-watch is not a built-in VS Code problem matcher and is only available when the esbuild-problem-matchers extension is installed.
When the extension is not installed, VS Code fails to activate tasks entirely with the following error:
Activating task providers
npm Error: Invalid problemMatcher reference: $esbuild-watch
This prevents users from running or testing tasks at all.
Why this is an issue
- esbuild itself runs correctly without any VS Code extension
- problemMatchers are a UX feature, not a runtime requirement
- however, VS Code treats unknown problemMatchers as a hard error
- as a result, tasks become unusable unless a specific extension is installed
This effectively makes the extension a mandatory dependency, even though it should be optional.
Expected behavior
One of the following:
- tasks should still run even if the problemMatcher is unavailable, or
- the tasks configuration should not hard-depend on external problemMatchers, or
- VS Code should support optional / soft problemMatcher references
Suggested solutions
- Provide tasks without external problemMatchers by default
- Document the problemMatcher as optional
- Or provide separate tasks for enhanced UX when the extension is installed
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with .vscode/tasks.json and reproduce task activation without the esbuild-problem-matchers extension installed. Review how the $esbuild-watch reference is used and choose a configuration that does not make the extension mandatory. Verify that the VS Code tasks activate and run without the extension, while preserving the documented enhanced behavior if applicable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100