You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不借助外部防火墙完全禁用VS Code的所有网络请求?

我之前自己编译VS Code的时候也遇到过这个问题——明明加了一堆禁用配置,还是能抓到TCP连接。其实VS Code有些网络请求是硬编码在源码里的,或者有些隐藏的配置项没覆盖到,下面给你一套从配置到源码修改的完整方案,不用外部防火墙就能彻底封死所有网络请求:

一、补全所有禁用网络的核心配置项

把以下配置添加到你的settings.json里,覆盖所有可能触发网络请求的开关:

{
  "telemetry.enableCrashReporter": false,
  "telemetry.enableTelemetry": false,
  "telemetry.telemetryLevel": "off",
  "update.channel": "none",
  "update.enableWindowsBackgroundUpdates": false,
  "update.showReleaseNotes": false,
  "extensions.autoUpdate": false,
  "extensions.autoCheckUpdates": false,
  "extensions.gallery.enabled": false,
  "extensions.recommendations.enabled": false,
  "git.enabled": false,
  "git.autofetch": false,
  "github.copilot.enable": {
    "*": false
  },
  "settingsSync.enable": false,
  "workbench.settings.enableNaturalLanguageSearch": false,
  "workbench.enableExperiments": false,
  "network.downloaderType": "none",
  "http.proxy": "",
  "https.proxy": ""
}

几个关键配置的作用:

  • telemetry.telemetryLevel": "off":比单纯的enableTelemetry更彻底,直接把所有遥测级别锁死为关闭
  • extensions.gallery.enabled": false:完全禁用扩展市场访问,这是你之前漏掉的核心项,大部分市场相关的TCP连接都是这个触发的
  • network.downloaderType": "none":禁用VS Code内置的下载器,阻止任何自动下载行为
  • workbench.enableExperiments": false:关闭实验功能,避免部分实验特性偷偷发起请求
二、用启动命令行参数强化禁用

每次启动VS Code时加上这些参数,从启动阶段就强制切断网络相关服务:

code --disable-telemetry --disable-updates --no-sync --disable-features=NetworkService

参数说明:

  • --disable-features=NetworkService:直接禁用VS Code底层的网络服务模块,这是切断很多隐藏网络调用的狠招
  • --no-sync:强制关闭设置同步,和配置项形成双保险
  • 如果不需要使用任何扩展,可以再加--disable-extensions,彻底避免扩展自身发起的网络请求
三、源码构建时彻底移除网络模块(最彻底方案)

因为你是基于源码编译的,这一步能从根源上干掉所有网络请求逻辑:

  1. 修改源码根目录下的product.json,清空所有涉及网络的URL:
    {
      "extensionsGallery": {
        "serviceUrl": "",
        "cacheUrl": "",
        "itemUrl": ""
      },
      "updateUrl": "",
      "telemetryEndpoint": "",
      "crashReporterUrl": ""
    }
    
  2. 注释遥测发送逻辑:找到src/vs/platform/telemetry/common/telemetry.ts,把sendTelemetryEvent等核心发送方法改成空实现
  3. 禁用更新检查:修改src/vs/platform/update/common/updateService.ts,让checkForUpdates方法直接返回Promise.resolve(undefined)
  4. 移除扩展市场服务:在src/vs/platform/extensionManagement/common/extensionGalleryService.ts中,把所有请求市场数据的逻辑替换为空数组或空对象

这样构建出来的VS Code,从底层就没有任何发起网络请求的代码,绝对不会产生TCP连接。

内容的提问来源于stack exchange,提问作者TheMx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:17:35