problemmatcher 引用無效: $esbuild-watch vscode外掛報錯

潇湘待雨發表於2024-10-14

vscode 外掛 esbuild型別提示報錯

最近在上手開發vscode外掛,demo階段就遇到了一個小問題。 搜尋引擎沒有特別好的回答, 記錄一下,以供查漏補缺。

vscode外掛開發

做為一統前端的開發外掛,vscode+其豐富的外掛能力,共同構建了欣欣向榮的vscode 外掛。在團隊效率方面,也是不可或缺的利器。

開發文件就不說了,直接看官網很詳細:https://code.visualstudio.com/api。 跟著跑了一遍,明白下大概得理念就可以跟著開發自己功能。

問題出現: problemmatcher 引用無效: $esbuild-watch

本來很愉快的基於第一個擴充套件 進行了專案初始化和安裝。

因為對於esbuild的偏愛,所以yo初始化是選擇了 esbuild做為打包工具。

結果問題出現了,在進行

// 執行除錯
Debug: Start Debugging

vscode 開始報錯:

ps: 其實vscode 晚點也會給出解決建議:

但是,手快的下意識行為已經開啟了,具體資訊

Activating task providers npm
錯誤: problemMatcher 引用無效: $esbuild-watch

問題解決

面對不熟悉的領域,問題出現直接搜尋引擎就行了,但是這次直接給我看懵逼了。
直接搜尋上面報錯,找到了微軟的官方文章。https://marketplace.visualstudio.com/items?itemName=connor4312.esbuild-problem-matchers

其實沒注意這裡就是對應外掛了, 看了看 是介紹如何使用這個外掛的。
下意識行為 不應該額外手動安裝外掛。 就忽略了。

gpt提示:版本匹配問題。

目標不明確直接問了gpt,得出了一下提示。

檢查 VSCode 版本是否較新,更新到最新版本。

重啟 VSCode,有時候這可以解決臨時性問題。

手動新增 $esbuild-watch 到 problemMatcher:
"problemMatcher": [
"$esbuild-watch"
]

嘗試使用不同的匹配模式,比如:
"problemMatcher": [
{
"base": "$esbuild-watch",
"background": {
"activeOnStart": true,
"beginsPattern": "^\\swatching\\s",
"endsPattern": ""
}
}
]

下面就是各種檢查了,問題都是對得上,問題陷入糾結中。

問題解決

畢竟是task.json 的報錯,其實大部分情況下直接檢視官方文件是最有效的。我就找到了這篇: https://code.visualstudio.com/Docs/editor/tasks

作用就是 在task 輸出 log 中查詢對應標識,以確定哪個任務除了異常。

既然如此 那就找

esbuild.js --watch problemMatcher

找到了這篇文章 https://github.com/connor4312/esbuild-problem-matchers 定睛一眼,這不剛才那個外掛嗎。

果然安裝了對應外掛之後就可正確執行了。

結束語

vscode 不得不說外掛生態確實厲害,不過文件確實有點老了, 應該提示下安裝對應外掛的。

相關文章