參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

遙測擴充套件作者指南

Visual Studio Code 收集使用資料並將其傳送給 Microsoft,以幫助改進我們的產品和服務。請閱讀我們的隱私宣告遙測文件以瞭解更多資訊。

本主題包含面向擴充套件作者的指南,以便他們的擴充套件能夠符合 VS Code 的遙測要求和最佳實踐。

注意:如果您不想向 Microsoft 傳送使用資料,可以將 telemetry.telemetryLevel 使用者設定off

遙測模組

VS Code 團隊維護@vscode/extension-telemetry npm 模組,該模組提供了一種一致且安全的方式來在 VS Code 中收集遙測資料。該模組將遙測資料報告給Azure Monitor 和 Application Insights,並保證與以前的 VS Code 版本向後相容。

請遵循本指南設定 Azure Monitor 並獲取您的 Application Insights 檢測金鑰。

不使用遙測模組

不希望使用 Application Insights 的擴充套件作者可以利用自己的自定義解決方案發送遙測資料。在這種情況下,仍要求擴充套件作者透過使用 isTelemetryEnabledonDidChangeTelemetryEnabled API 來尊重使用者的選擇。透過這樣做,使用者將有一個集中式的位置來控制他們的遙測設定。

自定義遙測設定

擴充套件可能希望讓使用者獨立於 VS Code 遙測控制特定於擴充套件的遙測。在這種情況下,我們建議您引入一個特定的擴充套件設定。建議自定義遙測設定標記為 telemetryusesOnlineServices,以便使用者可以在設定 UI 中更輕鬆地查詢它們。新增自定義遙測設定並不能免除尊重使用者決定的責任,並且必須始終尊重 isTelemetryEnabledonDidChangeTelemetryEnabled 標誌。如果 isTelemetryEnabled 報告為 false,即使您的設定已啟用,也絕不能傳送遙測資料。

telemetry.json

我們理解遙測對於許多使用者來說可能是一個敏感話題,我們力求儘可能透明。核心 VS Code 產品和大多數第一方擴充套件都在其根目錄中附帶一個 telemetry.json 檔案。這允許使用者使用帶有 --telemetry 標誌的 VS Code CLI 來接收 VS Code 生成的所有遙測資料的轉儲。擴充套件作者可以在其根目錄中包含一個 telemetry.json 檔案,它也將出現在 CLI 轉儲中。

須知和禁忌

✔️ 建議

  • 如果使用 Application Insights 適合您,請使用 @vscode/extension-telemetry npm 模組。
  • 否則,請尊重 isTelemetryEnabledonDidChangeTelemetryEnabled API。
  • 如果您有自定義遙測設定,請將其標記為 telemetryusesOnlineServices
  • 儘可能少地收集遙測資料。
  • 儘可能透明地向用戶說明您收集了什麼。

❌ 不建議

  • 引入一個不要求使用者同意的自定義遙測收集解決方案。
  • 收集個人身份資訊 (PII)。
  • 收集不必要的遙測資料。
  • 僅使用 telemetry.telemetryLevel 設定,因為它有時可能與 isTelemetryEnabled 不一致。