终极教程:在 VS Code 中设置 HTTP/HTTPS 代理 – wiki词典

终极教程:在 VS Code 中设置 HTTP/HTTPS 代理

在日常开发中,我们可能因为网络环境的限制(如公司内网、学校网络)或需要访问特定资源(如 Docker 镜像仓库、npm 包)而必须通过代理服务器连接互联网。Visual Studio Code (VS Code) 作为一款功能强大的编辑器,其扩展和内置功能也常常需要网络连接。因此,正确配置 VS Code 的 HTTP/HTTPS 代理至关重要。

本教程将详细介绍两种在 VS Code 中设置 HTTP/HTTPS 代理的主要方法,并提供一些重要的注意事项,确保您的开发环境顺畅运行。


方法一:通过 VS Code 用户设置 (settings.json) (推荐)

这是最常用且推荐的方法,因为它直接在 VS Code 内部进行配置,只对 VS Code 生效,不会影响系统中其他应用程序的网络连接。

1. 打开 VS Code 设置

  • 点击 VS Code 左下角的齿轮图标 (Manage),然后选择“设置” (Settings)。
  • 或者,您可以使用快捷键 Ctrl+, (Windows/Linux) 或 Cmd+, (macOS) 直接打开设置面板。

2. 搜索代理设置

在设置搜索框中输入“proxy”,您会看到与代理相关的设置项。

3. 在 settings.json 中编辑

找到“Http: Proxy”或“代理服务器”相关的设置项,点击其下方的“在 settings.json 中编辑”链接。这将打开您的用户 settings.json 文件。

4. 添加代理配置

在打开的 settings.json 文件中,添加或修改以下配置:

“`json
{
// 配置 HTTP 代理服务器地址和端口
“http.proxy”: “http://your-proxy-server:port”,

// 配置 HTTPS 代理服务器地址和端口
"https.proxy": "https://your-proxy-server:port",

// 如果代理服务器使用自签名证书,可以设置为 false 以禁用严格的 SSL 检查
// 注意:这会降低安全性,请谨慎使用,并仅在您信任代理的情况下启用。
"http.proxyStrictSSL": false,

// (可选)如果希望 VS Code 自动检测代理,可以将其设置为 "on"
// "http.proxySupport": "on",

// (可选)配置不需要走代理的地址,使用逗号分隔,支持通配符
// "http.proxybypass": "localhost,127.0.0.1,*.example.com"

}
“`

  • http.proxy: 设置 HTTP 请求的代理服务器地址。请将 your-proxy-server:port 替换为您的代理服务器的实际地址和端口号,例如 http://192.168.1.100:8080
  • https.proxy: 设置 HTTPS 请求的代理服务器地址。同样,替换为您的 HTTPS 代理服务器地址和端口,例如 https://192.168.1.100:8081。通常 HTTP 和 HTTPS 代理使用相同的地址和端口。
  • 带认证的代理: 如果您的代理服务器需要用户名和密码进行身份验证,请使用以下格式:
    "http.proxy": "http://username:password@your-proxy-server:port"
  • http.proxyStrictSSL: 默认情况下,VS Code 会对代理连接进行严格的 SSL 证书检查。如果您的代理服务器使用了自签名证书,或者您在通过代理安装扩展时遇到 SSL 证书错误,可以将其设置为 false 来禁用严格检查。请注意,这样做会降低安全性,应仅在明确了解风险并信任代理服务器的情况下使用。
  • http.proxySupport: 这个设置用于控制 VS Code 如何使用代理。常见值包括 "off"(禁用代理)、"on"(使用代理,通常结合 http.proxy 设置)、"override"(强制使用 http.proxy 设置,即使检测到系统代理)。
  • http.proxybypass: 这是一个字符串,包含以逗号分隔的主机名列表,这些主机名将不会通过代理进行连接。这对于访问本地网络资源或特定内部服务非常有用。

5. 保存并重启 VS Code

保存 settings.json 文件后,重启 VS Code 以确保所有更改都已生效。


方法二:通过系统环境变量

这种方法会影响所有使用这些环境变量的应用程序,而不仅仅是 VS Code。如果您希望全局性地设置代理,可以考虑这种方式。

1. Windows 系统

  • 临时设置(当前会话):
    打开命令提示符 (CMD) 或 PowerShell,输入以下命令(将 your-proxy-server:port 替换为您的代理地址和端口):

    cmd
    set HTTP_PROXY=http://your-proxy-server:port
    set HTTPS_PROXY=http://your-proxy-server:port
    set NO_PROXY=localhost,127.0.0.1

    这些设置仅在当前命令行会话中有效。关闭窗口后即失效。

  • 永久设置:

    1. 右键点击“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。
    2. 在“系统变量”或“用户变量”部分,点击“新建”或“编辑”,添加或修改以下变量:
      • 变量名: HTTP_PROXY
      • 变量值: http://your-proxy-server:port
      • 变量名: HTTPS_PROXY
      • 变量值: http://your-proxy-server:port
      • 变量名: NO_PROXY (可选,用于排除不需要代理的地址)
      • 变量值: localhost,127.0.0.1
    3. 点击“确定”保存更改。可能需要重启电脑或注销重新登录才能使环境变量完全生效。

2. macOS / Linux 系统

  • 临时设置(当前会话):
    打开终端,输入以下命令(将 your-proxy-server:port 替换为您的代理地址和端口):

    bash
    export HTTP_PROXY="http://your-proxy-server:port"
    export HTTPS_PROXY="http://your-proxy-server:port"
    export NO_PROXY="localhost,127.0.0.1"

    这些设置仅在当前终端会话中有效。关闭终端后即失效。

  • 永久设置:
    要使这些设置永久生效,您可以将上述 export 命令添加到您的 shell 配置文件中,例如 ~/.bashrc~/.zshrc~/.bash_profile

    1. 使用文本编辑器打开您的 shell 配置文件,例如:
      nano ~/.zshrc
    2. 在文件末尾添加上述 export 命令。
    3. 保存文件并退出。
    4. 运行 source ~/.zshrc (或您修改的配置文件) 使更改立即生效,或者重启终端。

重要注意事项

  1. 确认代理地址和端口:请务必确保您使用的代理服务器地址和端口号是正确且可用的。错误的配置将导致网络连接失败。
  2. 代理类型:VS Code 主要支持 HTTP 和 HTTPS 代理。它不直接支持 SOCKS 代理。如果您的网络要求使用 SOCKS 代理,您可能需要通过其他工具(如 Proxifier 或 proxychains)将 SOCKS 代理转换为 HTTP/HTTPS 代理。
  3. 身份验证:如果代理需要用户名和密码,请确保在配置中包含这些信息,例如 http://username:password@your-proxy-server:port
  4. SSL 证书问题
    • 如果遇到 self-signed certificate in certificate chain 或其他 SSL 错误,可以尝试将 http.proxyStrictSSL 设置为 false。但请再次强调,这会降低安全性。
    • 更安全的做法是将代理服务器的根证书添加到操作系统的信任存储中。这通常涉及从代理服务器获取证书文件(通常是 .cer.pem 格式),然后将其导入到您的系统信任链中。具体步骤因操作系统而异,您可以查阅操作系统文档或代理服务器提供商的指南。
  5. 网络环境限制:某些企业或组织的网络环境可能会对代理的使用有严格的规定或额外的安全措施。如果遇到连接问题,即使代理设置正确,也可能需要咨询您的网络管理员。
  6. 优先顺序:VS Code 通常会优先使用其内部设置(settings.json)。如果 settings.json 中配置了代理,它可能会覆盖系统环境变量的设置。

总结

通过上述两种方法,您应该能够在 VS Code 中成功配置 HTTP/HTTPS 代理。对于大多数用户而言,直接在 VS Code 的 settings.json 中配置是最佳实践,因为它提供了更细粒度的控制,且不会影响其他应用程序。选择适合您需求的方法,并牢记安全性考虑,您将能更高效地使用 VS Code 应对各种网络环境。

滚动至顶部