如何在 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)。应在客户端的生命周期内重新配置,而不是把激活时读取一次的字符串视为永久有效。