在 Visual Studio 代码中配置代理设置

评论: 0

Visual Studio Code 作为代码编辑器之所以受到无与伦比的欢迎,是因为它可以在所有主流操作系统上运行,支持多种编程语言,内置大量工具,而且无需安装开发环境即可无缝编辑代码。尽管具有这些功能,但如果没有网络访问,开发基于云或网络的应用程序仍然是不可能的,而网络访问可能会因各种原因而受到限制。VScode 中的代理设置可以解决许多此类问题,同时维护外部资源的安全性。

为什么要在 VScode 中配置代理?

为 VScode 启用代理的实际用例包括隐藏个人 IP 地址和提高私密性。然而,此类服务器的应用范围远远超出了这一范畴。这些应用包括但不限于

  • 下载程序库和特定语言扩展;
  • 访问应用程序接口;
  • 使用远程软件源
  • 测试网络资源;
  • 控制从 Visual Studio Marketplace 下载扩展,限制可执行代码的网络请求;
  • 自动更新编辑器。

如果您在 VScode 中配置了代理,就可以轻松处理所有这些任务,尤其是在采用流量过滤策略的地理围栏或高安全控制环境中。

如何在 VScode 中设置代理

与其他开发工具类似,微软的编辑器也有配置互联网访问中间服务器的选项。根据用户操作系统的不同,可以通过几种不同的方式实现这一功能。

在 VS 代码用户界面中配置代理设置

用户界面方法通常是最简单的方法。尽管对客户有益,微软还是提供了指导说明。虽然内容丰富,但缺少在 setting.json 文件中添加或编辑步骤,而这对 VScode 中的代理设置正常运行至关重要。请检查附加步骤以进行改进:

  1. 打开 VS Code,点击齿轮图标,选择 "设置"。

    1.png

  2. 在 "应用程序 "部分,点击 "代理",然后以下列形式之一输入您的 IP 地址:
    • http://username:password@host:port - 用于验证;
    • http://host:port - 没有验证。

    2.png

    备注:如果密码中有 @、#、* 和其他字符,则必须用以 % 为前缀的 ASCII 编码来代替。

  3. 根据操作系统查找 settings.json 路径:
    • Linux: $HOME/.config/Code/User/settings.json;
    • Windows:%APPDATA%/Code/User/settings.json;
    • macOS:$HOME/Library/Application Support/Code/User/settings.json。

    或者,您也可以点击应用程序中的 "在 settings.json 中编辑"。

    3.png

  4. Following the instructions, right-click on the file and select “Open”, “Using Notepad”. If you accessed settings.json from the program’s GUI, the editor will open a new tab. In either case, add the code and save.
    
    {
    "http.proxySupport": "on",
    "http.proxy": "http://user:password@host:port",
    "http.proxtStrictSSL": "false",
    "http.proxyAuthorization": null
    }
    
    
  5. 要执行更改,请重新启动 Visual Studio Code。

重要:如果没有在 "http.proxy "字段中定义代理主机,应用程序将默认使用系统变量。

如何在 Visual Studio 代码终端中设置代理

VScode 中的代理设置也可在终端中完成,请按以下步骤操作:

  1. 单击省略号(三个点)打开终端,然后选择终端 → 新终端。

    5.png

  2. 在命令行中输入:code--proxy-server="http://user:password@host:port"(验证代理)code--proxy-server="http://host:port"(未验证代理)。结果将如下所示:

    13en.png

必要时,您也可以使用 https 代替 http。

通过环境变量在 VScode 中设置代理

在无法采用前几种方法的情况下,这种替代方法是最理想的选择。

  1. 在 Windows 搜索栏中输入 "环境变量",然后选择 "编辑系统环境变量"。

    6en.png

  2. 在随后的窗口中,选择 "高级 "选项卡并点击 "环境变量"。

    7en.png

  3. 在用户变量下,点击 "新建"。

    8en.png

  4. 指定变量名 HTTP_PROXY 或 HTTPS_PROXY,值为 "host:port"。

    9en.png

重要:如果使用环境变量,请不要在 VS 代码的 settings.json 中包含代理字段,因为这可能会导致连接问题。

前面步骤中定义的 VScode 中的代理设置是为所有应用程序全局设置的,这可能会造成问题,尤其是在使用需要身份验证的专用服务器时。如果是这种情况,请使用第三方工具(如 Docker),并用自己选择的语言编写管理会话的管理代码,以定义特定于项目的环境变量。

排除 VS 代码中的代理问题

尽管上述配置看似简单,但仍可能出现复杂情况。这通常是由于应用程序的操作系统设置、编辑器设置或用户权限过于有限造成的。

代理服务器无法连接

当 VScode 中的代理设置在编辑器选项中定义、设置为环境变量并同时包含在 Windows 凭据中时,就会出现这种问题。在这种情况下,您需要专注于上述一种配置方法。不过,除了已经讨论过的选项外,还有一个可能的问题 - Windows 中存储的中间凭证。下面介绍如何删除它们:

  1. 打开控制面板 → 凭证管理器 → Windows 凭证。

    10en.png

  2. 找到包含代理服务器信息的凭证。删除此凭证。

    11en.png

  3. 之后,使用上述任何方法为 Visual Studio 设置代理,并确保重新启动电脑。

需要代理服务器验证

当您为扩展程序设置 VScode 代理时,经常会触发带有各种代码的此类错误。通常只需重启编辑器并在设置中重新输入登录名和密码即可解决此问题。

尽管如此,问题也可能是由于中间服务器凭据提示*visualstudio.microsoft.com 域而不是*.microsoft.com 域造成的。

在 Windows 设置中,将建议的 URL 附加到域列表中:

  • *.windows.net
  • *.microsoftonline.com
  • *.visualstudio.microsoft.com
  • *.microsoft.com
  • *.live.com

现在,以管理员权限打开 "命令提示符",执行下面的命令以建立适当的主机和端口:


netsh winhttp set proxy proxy:port

12en.png

Visual Studio Code 的最佳代理?

如果您下定决心在 VScode 中配置代理设置,但又想知道该选择哪一种,那就让我们来探讨一下吧。

微软特别指出,该代码编辑器支持使用 HTTP 和 HTTPS 协议的各种类型。

我们建议分两个阶段处理筛选过程:

  • 理解协议之间的区别;
  • 根据主要目标确定服务器。

HTTP 和 HTTPS 这两种数据传输协议的区别在于其中一种是加密的。第一种协议 HTTP 不提供任何加密功能,而第二种协议 HTTPS 则力求最大限度地保护所传输的信息。

除加密外,这两种协议还有其他区别:安全级别和性能。HTTP 协议通过 "请求-响应 "模式传输数据。它不能保证匿名性。HTTPS 可保证更强的安全性。数据经过封装和加密后发送到服务器,服务器无法访问其内容。这里有三个级别的保护:保密、加密和验证。如前所述,由于第二个协议需要时间加密数据,因此请求处理速度比未加密的 HTTP 慢。如果 VScode 中的代理设置不正确,将会对编辑器的整体性能产生不良影响。

在了解了 HTTP 和 HTTPS 的具体内容后,让我们来定义一下每种协议在软件开发中的用例。之后,您就会知道,如果您想 购买代理服务器对于 Visual Studio.

如果您构建的网络应用程序需要高级安全功能,如社交网站、信息应用程序、电子邮件服务,甚至 VoIP,那么至少要具备 HTTPS 安全级别的代理服务器才是您的重点。

另一方面,如果您提供的服务需要跨设备的即时加载时间,并且不需要任何用户登录,那么 HTTP 会更合适。住宅和移动代理以及数据中心代理都支持这两种协议。所选的中间服务器应取决于所述任务。要对其进行更全面的评估,请遵循 全文中提供的链接.

VScode 中的代理设置结论

在了解了如何在 Visual Studio 中设置代理以及决定最佳解决方案的因素之后,我们可以注意到,这种设置对于确保正常运行至关重要,尤其是在互联网访问受限的环境中。在这种服务器的帮助下,开发人员可以超越国界,非法访问新颖和受限的资源,包括远程资源库、扩展市场、更新服务器和其他对他们的进步至关重要的资源。

评论:

0 评论