Visual Studio Codeに拡張機能がインストールできない場合の対処方法 #vscode #docker

アップデートエラー

f:id:uchimanajet7:20171018011922p:plain

Visual Studio Code(以下VS Code)の拡張機能Dockerがありますが、この拡張機能0.0.19へのアップデートで

end of central directory record signature not found

というエラーが出てアップデートができなくなりました。

code.visualstudio.com

marketplace.visualstudio.com

拡張機能Dockerをアンイストールして、再インストールしようとしても同じ結果に・・・

調べてみると

GitHubにissueが上がっていて

github.com

次のissueと同様の対応をすると解決するとのことなので

github.com

解決方法が載っているというissueを読んでみると

github.com

と書かれており、つまりは拡張機能をブラウザを使ってダウンロードして、ダウンロードしたローカルファイルからインストールすれば解決すると。

さっそく試してみる

拡張機能インストールファイルのダウンロード

issueには拡張機能PythonをダウンロードできるURLが記載されていて、Google先生で調べるとこのダウンロード用のURLを自分で編集してインストールパッケージをダウンロードすると書かれたBlogが多数ヒットします。

marketplace.visualstudio.com

しかし、上記のリンクを確認すればわかりますが、拡張機能の個別ページにはパッケージをダウンロードできるリンクが存在します。

f:id:uchimanajet7:20171018013628p:plain

Download Extensionをクリックすれば、インストール用のパッケージがダウンロードされます。今回のDockerであればPeterJausovec.vscode-docker-0.0.19.vsixというファイルになります。

ローカルファイルからの拡張機能インストール

ダウンロードしたPeterJausovec.vscode-docker-0.0.19.vsixを利用して、拡張機能インストールします。

[表示] → [コマンドパレット]でコマンドパレットを表示します。コマンドパレットのメニューから拡張機能: VSIX からのインストールを選択します。

f:id:uchimanajet7:20171018015111p:plain

するとファイル選択のダイアログが表示されるので、先ほどのファイルPeterJausovec.vscode-docker-0.0.19.vsixを選択するとインストールが開始されます。

f:id:uchimanajet7:20171018015929p:plain

インストールが正常に完了すると、再読み込みをうながすメッセージが表示されますので今すぐ再度読み込むボタンをクリックして再読み込みを行います。

f:id:uchimanajet7:20171018020940p:plain

インストール済みの拡張機能一覧にDockerの表示があればインストールが正常に完了したことになります。

まとめ

  • 特に何もしていないのに急にアップデートできずエラーになった
  • 調べてみたら同じような人がいた
  • 対処はインストールパッケージをローカルにダウンロードして、ローカルファイルからインストールを実行するだけ
  • いろいろ複雑に書いてあるBlogもあるが、たぶん情報が古い
  • もし同じような症状の人がいるなら参考にしてほしい
  • 原因がわからないので再発しないといいなぁー

以上になります。