9
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

stoneでVSCodeのプロキシ認証情報の入力を自動化する

Posted at

Windows版VS Codeでプロキシのパスワード入力を自動化する

認証プロキシ配下でVS Codeを利用していると、 Extensions を開いたときとかに、以下のようなダイアログが表示されます。

image.png

毎回ユーザー名とパスワードを入力するのはしんどいので、自動入力できないか調査したところ、紆余曲折ありましたが、自動入力できることがわかったので、紹介します。

結果だけ知りたい方は、「解決編」まで読み飛ばしてください。

調査編:VS Code標準機能だけでは無理っぽい

VS Codeの公式ページを読んでみると、どうやらVS Codeのネットワーク機能はChromiumのネットワーク機能を利用しているようです。

Chromiumの公式ページを読んでみましたが、自動入力には対応していなさそうでした。

settings.jsonをためしてみたけどダメだった

settings.json に以下のように追加してみましたが、とくに変化はありませんでした。

{
    "http.proxy": "http://(ユーザー名):(パスワード)@(ホスト):(ポート)",
    "http.proxyStrictSSL": false
}

上記の指定方法だと、(ホスト):(ポート) は効きますが、 (ユーザー名):(パスワード) の方は効いていないみたいです。

--proxy-server をためしてみたけどダメだった

VS Codeの起動オプションに、以下のように --proxy-server を追加してみましたが、ダメでした。

"C:\Program Files\Microsoft VS Code\Code.exe" --proxy-server=http://(ユーザー名):(パスワード)@(ホスト):(ポート)

やはり、 (ホスト):(ポート) は効きますが、 (ユーザー名):(パスワード) の方は効いていないみたいです。

--proxy-auth をためしてみたけどダメだった

VS Codeの起動オプションに、以下のように --proxy-auth を追加してみましたが、ダメでした。

"C:\Program Files\Microsoft VS Code\Code.exe" --proxy-server=http://(ホスト):(ポート) --proxy-auth=(ユーザー名):(パスワード)

やはり、 (ホスト):(ポート) は効きますが、 (ユーザー名):(パスワード) の方は効いていないみたいです。

解決編:stone使えばできた

VS Code標準の機能ではダメそうだということで、他の方法を調べてみたところ、stoneというものを知りました。

PC内に常駐する新しいProxyサーバー(以後stoneサーバーと呼びます。)を構築し、VS Codeのすべての通信をstoneサーバーを介して行うことで、stoneサーバーでプロキシの認証情報を付加するという手法のようです。

stoneをインストールする

stoneの導入については、以下の記事がわかりやすかったので、こちらをご参照ください。

ただし、実施するのはこの記事の サービス化と起動 までです。今回、IEは関係ないので、 ブラウザの設定 以降はやらなくて大丈夫です。

(というか、やってしまうとVS Code以外のツールにも影響してしまうので、やらない方が安全です。)

Qiita / stoneであの煩わしいプロキシ認証を自動化する

上記の記事の手順通りにやると、 http://localhost:3200 というURLでstoneサーバーが起動します。

VS Codeの --proxy-server にstoneサーバーを設定する

VS Codeの通信がstoneサーバーを経由するように設定します。

コマンドプロンプトで以下のコマンドを実行してみてください。

"C:\Program Files\Microsoft VS Code\Code.exe" --proxy-server=http://localhost:3200

VS Codeが起動すると思います。

起動しなかった場合、VS Codeのインストール先が違うのかもしれません。例えば、Chocolateyでインストールした場合は、以下のパスになるそうです。

%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe --proxy-server=http://localhost:3200

適宜、ご自身のPC環境に合わせてパスを変更してみてください。

コマンドでVS Codeが起動できたら、Extensions を開いてみましょう。

プロキシのユーザー名とパスワードが聞かれなかったと思います!

あとは上記のコマンドを以下のようにショートカットにしてしまえば、毎回コマンドを打たなくて大丈夫になります!

image.png

以上、おつかれさまでした。

参考サイト

9
15
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?