VS Code Remote-SSH 远程开发:解决无法安装扩展、市场加载失败的问题

问题现象

在 VS Code 中使用 Remote-SSH 连接到远程 Linux 主机(例如 OK3568 开发板)进行开发时,扩展面板无法正常加载扩展列表,搜索 C/C++ 等插件时只显示一个"C/C++ Themes"且报错:

复制代码
Error while fetching extensions. Failed to fetch
Showing local extensions.

远程主机上已安装的扩展数量显示为 0,无法安装任何语言服务扩展(如 C/C++ 扩展),导致代码无法跳转定义、无法补全等。

但远程主机本身网络是通的,ping 8.8.8.8ping www.baidu.com 均成功,说明不是物理网络不通。

原因分析

VS Code 的扩展市场默认源是 marketplace.visualstudio.com。在国内网络环境下,该域名有时会被干扰或 DNS 解析异常,导致 VS Code Server 无法连接。

Remote-SSH 模式下,VS Code 会在远程主机上运行一个 vscode-server 进程,该进程负责下载和安装扩展。如果远程主机无法访问默认的扩展市场 URL,就会出现上述现象。

为什么 ping 通却无法访问扩展市场?

  • ping 测试的是 ICMP 协议,不涉及 HTTPS。

  • 扩展市场需要 HTTPS(443端口),可能被防火墙、运营商或 DNS 污染阻断。

  • VS Code Server 默认使用 https://marketplace.visualstudio.com,该域名在国内部分地区访问不稳定。

解决方案

更换扩展市场镜像源(最简洁有效)

通过修改 VS Code 的远程设置,将扩展市场 URL 切换到国内可访问的镜像(如 Azure 中国 CDN)。

步骤:
  1. 确认当前连接的是远程主机

    在 VS Code 左下角状态栏应显示 SSH: 192.168.0.123 等远程主机标识。

  2. 打开远程设置文件

    Ctrl+Shift+P,输入 Preferences: Open Remote Settings (JSON) 并回车。

    如果找不到该命令,可以使用 Preferences: Open Settings (JSON),但务必确保当前修改的是远程主机的配置(可以通过看窗口标题栏或状态栏判断)。

  3. 添加镜像源配置

    在打开的空大括号 {} 中插入以下内容:

    json

    复制代码
    {
        "extensions.gallery.serviceUrl": "https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/",
        "extensions.gallery.cacheUrl": "https://vscode.cdn.azure.cn/extensionGallery/extensionGallery/publishers"
    }

    注意 :两个 URL 末尾的斜杠 / 必须保留,否则配置无效。

  4. 保存文件Ctrl+S)。

  5. 彻底重启 VS Code

    • 关闭所有 VS Code 窗口。

    • 在任务管理器(Windows)或活动监视器(macOS/Linux)中结束所有 codecode helper 进程。

    • 重新打开 VS Code,重新连接到远程主机。

  6. 安装 C/C++ 扩展

    打开扩展面板(Ctrl+Shift+X),搜索 C/C++,现在应该能看到微软官方的 C/C++ 扩展。点击 Install,等待安装完成。

安装成功后,远程主机的扩展列表中会显示已安装的扩展,代码跳转(F12)等功能恢复正常。

相关推荐
Uncertainty!!16 小时前
Ubuntu 22.04 安装超好用中文输入法rime-ice(雾凇拼音)过程记录
linux·ubuntu·中文输入法
ShineWinsu17 小时前
对于Linux:网络基础的解析
linux·网络·面试·udp·笔试·ip·tcp
↘"LYong18 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Zhang~Ling19 小时前
Vim 多模式详解:命令、插入、底行与插件配置
linux·编辑器·vim
想你依然心痛20 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
做个文艺程序员21 小时前
Linux第12篇:性能监控与瓶颈分析——CPU/内存/IO/网络全维度
linux·运维·网络
HAPPY酷1 天前
【ROS2】 Conda 环境搭建(命令行版)
linux·运维·python·ubuntu·机器人·conda
hai3152475431 天前
九章空间几何对照直译法:通用芯片 / 定制专用芯片 编译适配规则
linux·汇编·bash
没头脑的男大1 天前
CMake学习教学
linux·c++·学习
ton_tom1 天前
设备驱动程序编程-Linux2.6.10-kdb安装-32位
linux·运维·服务器