microsoft / microsoft/vscode-generator-code

VS Code tasks fail to run when esbuild-problem-matchers extension is not installed

Open
#545 0 comments 1 reaction 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.