VS Code の拡張機能がプロキシでインストールできないときの対処法
こんにちは bokken (@bokken_) です。
今回は、プロキシに阻まれて VS Code の拡張機能がインストールできない問題への一時的な対処法をご紹介したと思います。
前提
- Windows、Mac、Linux いずれの OS でも OK
- VS Code の
http.proxy
設定が効かない - プロキシの設定が済んでいる (Mac だと環境変数の http_proxy="http://{user}:{pass}@proxy.server.com:8080")
背景
VS Code の拡張機能をインストールする際やアップデートする時に http.proxy の設定を読んでくれないようです。
本問題については GitHub 上にある VS Code リポジトリに幾多の Issus が建てられて議論がされています。
しかし、2017年6月13日現在、未だ原因の究明に至っていません。
解決策
現状ある解決策としては VS Code の拡張機能をシェルやコマンドプロンプトからインストール/アップデートする方法があります。
CLI の操作においてはプロキシの設定が有効になるようで、上手くインストールできます。
インストールコマンド
インストールのための具体的なコマンドは下記です。
code --install-extension <author>.<extension>`
ここで、<author>.<extension>
は、下記画像のように VS Code の拡張機能のページや拡張機能の Web ページの URL から参照することができます。
アップデート
一方で、アップデートをしたい場合のオプションは提供されておらず、 単純にインストールしようとすると、すでに拡張機能がインストールされているというエラーが出ます。
そのため、アップデートの場合は下記のように一度当該の拡張機能をアンインストールしてから、インストールする必要があります。
code --unsintall-extension <author>.<extension> code --install-extension <author>.<extension>
以上で、拡張機能のインストールは成功します。
まとめてアップデート
シェルなのでコマンドを使えば、まとめてアップデートすることもできます。
下記は Mac や Linux 環境で使える Ruby スクリプトです。
#! /usr/bin/env ruby lists = `code --list-extensions` lists.each_line do |extension| extension.chomp! puts "update #{extension}" puts `code --uninstall-extension #{extension}` puts `code --install-extension #{extension}` end
こちらを update-vs-code-extensions
という名前で保存して chmod a+x update-vs-code-extensions
を実行して、パスが通っているところに保存します。
(例えば、/usr/local/bin
)
そうすると、ターミナルから update-vs-code-extensions
と実行すると、すべての拡張機能を順番に更新してくれます。
まとめ
社内で使えないと思っていたみなさんの助けになれれば幸いです。
良かったら TypeScript や VS Code, AWS 関連のつぶやきをしているので @bokken_ をフォローしてみてください。
それではより良い VS Code ライフを!