要彻底禁用 vscode 遥测需同时关闭三项配置:telemetry.enabletelemetry、telemetry.enablecrashreporter 和 workbench.enableexperiments;命令行使用 code --disable-telemetry --disable-crash-reporter 最可靠;python 扩展需单独关闭 python.telemetry.enable;环境变量 vscode_telemetry_disabled=1 和 vscode_crash_reporter_disabled=1 是最终防线。

telemetry.enableTelemetry 设为 false 不够用
只在设置里关掉 telemetry.enableTelemetry,VSCode 仍可能发崩溃日志、实验功能数据、扩展更新检查请求。这不是 bug,而是微软把遥测拆成了多个开关,必须一并关闭。
真正要禁用的配置项有三个:
-
telemetry.enableTelemetry:主遥测开关,设为false -
telemetry.enableCrashReporter:崩溃报告独立开关,也得设为false -
workbench.enableExperiments:实验性功能默认会上报行为,设为false才能停掉这部分
这三项必须同时写进 settings.json,单靠图形界面勾选容易漏掉 workbench.enableExperiments。
命令行启动参数比设置更优先
如果你临时需要确保零遥测(比如在客户现场演示、离线环境调试),code --disable-telemetry 是最直接的方式。它会覆盖所有配置文件和设置项,连 telemetry.enableCrashReporter 也会被强制忽略。
注意两点:
- macOS 用户若从 Dock 启动 VSCode,该参数无效;必须用终端执行命令才生效
- 加
--disable-crash-reporter可补全禁用,完整命令是:code --disable-telemetry --disable-crash-reporter
这个方式不改任何配置,退出后自动失效,适合“用完即走”的场景。
Python 扩展的 telemetry.enable 需单独关
VSCode 全局设置对 Python 扩展无效。即使你关掉了所有编辑器级遥测,python.telemetry.enable 仍默认为 true,它会收集解释器选择、调试启动、测试运行等事件。
打开设置搜索 python telemetry,找到 Python > Telemetry: Enable 并取消勾选;或者在 settings.json 中加一行:"python.telemetry.enable": false。
别忘了检查其他语言扩展——比如 Copilot 插件、Pylint、Jupyter 等,它们可能自带遥测开关,关键词是 telemetry、analytics 或 usageData。
环境变量才是最终防线
某些旧版 VSCode 内核或第三方打包版本(比如 Snap 安装)会绕过 JSON 设置,读取系统环境变量。这时候仅改配置是白忙活。
必须设置两个环境变量:
VSCODE_TELEMETRY_DISABLED=1VSCODE_CRASH_REPORTER_DISABLED=1
Linux/macOS 加到 ~/.zshrc 或 ~/.bashrc;Windows 在系统属性 → 环境变量里添加。重启终端再启动 VSCode 才生效。
验证是否真关干净?打开开发者工具(Ctrl+Shift+I),切到 Network 标签页,过滤 telemetry 或 dc.services.visualstudio.com —— 一个请求都不该出现。
最容易被忽略的是环境变量和 Python 扩展这两块,只动 settings.json 的人,十有八九还在后台悄悄上传数据。











