0%

解决开启代理后无法登陆 VSCode 问题

在开启代理后,VSCode无法登录微软账号通常是由于UWP应用回环限制或认证模式问题,可通过切换认证模式或使用EnableLoopback工具解决。

解决方法一:切换VSCode微软认证模式

  1. 打开VSCode,按 CtrlShiftP 调出命令面板。
  2. 输入 Preferences: Open Settings (UI) 并回车。
  3. 搜索 microsoft-authentication.implementation。
  4. 将其值从 msal 改为 classic。
  5. 重启VSCode后尝试登录微软账号。

此方法适用于系统全局代理导致的 http 404 login.microsoftonline.com 错误,因为VSCode默认使用的Web Account Manager (WAM)基于UWP组件,禁止访问回环地址。

解决方法二:使用EnableLoopback工具解除UWP回环限制

  1. 下载并打开 EnableLoopback 工具。
  2. 在列表中找到 工作或学校账户(Work or School Account)。
  3. 勾选该选项并保存。
  4. 如果使用代理软件(如V2rayN、Clash Verge Rev),在其设置中也可直接开启UWP回环代理支持。
  5. 重启VSCode后尝试登录。
    此方法解决了UWP应用无法通过本地回环地址访问网络的问题。

解决方法三:远程开发环境下的代理配置

如果你在使用 Remote-SSH 或远程开发环境:

  1. 确保VSCode远程服务器进程和扩展明确走代理。
  2. 在本地Clash或代理软件中允许局域网连接。
  3. 在VSCode远程SSH配置中设置反向隧道,将远程流量通过本地代理端口转发。
  4. 在VSCode命令面板执行 Remote-SSH: Kill VS Code Server on Host… 并重新连接。
  5. 此方法可避免代理与远程SSH隧道产生的流量循环和连接阻塞问题 。

总结

  • 单机环境:优先尝试切换认证模式为 classic 或使用EnableLoopback工具解除UWP回环限制。
  • 远程开发环境:需同时配置远程服务器代理和VSCode远程进程,确保流量正确路由。
  • 重启VSCode后再次尝试登录微软账号,通常即可解决代理导致的登录失败问题。
  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/239
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!