現已釋出!閱讀關於 11 月新增功能和修復的內容。

遙測擴充套件作者指南

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 不符。
© . This site is unofficial and not affiliated with Microsoft.