VS Code 拡張機能で http.proxy を読む方法
VS Code 拡張機能の API を通じて http.proxy を読み取り、解決された設定値と、システムまたは PAC の経路、あるいは HTTP クライアントが構成したトランスポートを区別します。
VS Code 拡張機能は構成 API を通じて http.proxy を読み取れます:
import * as vscode from 'vscode';
const resource = vscode.window.activeTextEditor?.document.uri;
const http = vscode.workspace.getConfiguration('http', resource);
const proxyUrl = http.get<string>('proxy', '');
セクションは http で、その中のプロパティは proxy です。resource を渡すと、リソース固有の値が重要になる場面で構成コンテキストが与えられます。
get はそのコンテキスト用に設定を解決します。inspect('proxy') は、レポートが値の出自を必要とするときに、サポートされるさまざまな構成スコープに存在する値を示せます。
空文字列は、VS Code が直接接続している証拠ではありません。エディターは自動プロキシ選択を含むシステム構成を使うことがあります。この設定は、各宛先で選択された PAC 結果の完全な一覧ではありません。
proxyUrl を読んでも、拡張機能が起動する任意のライブラリは構成されません。意図した値は、その HTTP クライアントがサポートするインターフェースを通じて適用し、その環境やエージェントの動作を考慮してください。
拡張機能が変更を検知する必要がある場合は onDidChangeConfiguration と affectsConfiguration('http.proxy', resource) を使います。有効化時に一度読んだ文字列を常に最新とみなすのではなく、クライアントのライフサイクルを通じて再構成してください。