🐙

VSCode拡張開発時、HelloWorldの実行ができない問題の解決方法

2022/10/22に公開

概要

VSCodeの拡張機能を作ってみようかな、と公式のYour First Extensionを試してみたらうまく動かなかったので、そのときの対応メモ。

どのような問題が発生していたのか

Your First Extensionの通り、yoでミニマム構成を作ってから実行すると、新しいVSCodeは立ち上がるもののコマンドが表示されない状態になっていた。

本来、起動されたVSCode上のコマンドパレットで Hello World のコマンドが出てくるはずだが出てこない。特にエラー通知等も出てこないのでパっと見原因がよくわからない。

原因と確認方法

原因はシンプルにバージョンの不一致。

インストールしているVSCodeのバージョンが package.jsonengines.vscode で要求しているバージョンを満たしていない場合に発生する。

VSCodeの通知上エラーにはならないので分かりづらいが、「ヘルプ」→「開発者ツールの切り替え」でDevToolを表示するとログ上にエンジンバージョンの不一致でエラーが出ている。

解決方法

インストールしているVSCodeを最新にしてあげればそれで解決する。
特に最新でなくても良い場合は package.json 側のエンジンバージョンの条件を緩和してあげてもよい。

これでコマンドパレット上に Hello World のコマンドが出てくるようになる。

vscode-generator-codeではその時点での最新バージョンを取得しているので、VSCodeの更新をサボる人だけ引っかかる落とし穴だった。

https://github.com/microsoft/vscode-generator-code/blob/3b223ed9a10f9af2d66515b3ba5bb5dda76dd8f0/generators/app/index.js#L91

Discussion