遙測擴充套件作者指南
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 的擴充套件作者可以利用自己的自定義解決方案發送遙測資料。在這種情況下,仍要求擴充套件作者透過使用 isTelemetryEnabled
和 onDidChangeTelemetryEnabled
API 來尊重使用者的選擇。透過這樣做,使用者將有一個集中式的位置來控制他們的遙測設定。
自定義遙測設定
擴充套件可能希望讓使用者獨立於 VS Code 遙測控制特定於擴充套件的遙測。在這種情況下,我們建議您引入一個特定的擴充套件設定。建議自定義遙測設定標記為 telemetry
和 usesOnlineServices
,以便使用者可以在設定 UI 中更輕鬆地查詢它們。新增自定義遙測設定並不能免除尊重使用者決定的責任,並且必須始終尊重 isTelemetryEnabled
和 onDidChangeTelemetryEnabled
標誌。如果 isTelemetryEnabled
報告為 false,即使您的設定已啟用,也絕不能傳送遙測資料。
telemetry.json
我們理解遙測對於許多使用者來說可能是一個敏感話題,我們力求儘可能透明。核心 VS Code 產品和大多數第一方擴充套件都在其根目錄中附帶一個 telemetry.json
檔案。這允許使用者使用帶有 --telemetry
標誌的 VS Code CLI 來接收 VS Code 生成的所有遙測資料的轉儲。擴充套件作者可以在其根目錄中包含一個 telemetry.json
檔案,它也將出現在 CLI 轉儲中。
須知和禁忌
✔️ 建議
- 如果使用 Application Insights 適合您,請使用 @vscode/extension-telemetry npm 模組。
- 否則,請尊重
isTelemetryEnabled
和onDidChangeTelemetryEnabled
API。 - 如果您有自定義遙測設定,請將其標記為
telemetry
和usesOnlineServices
。 - 儘可能少地收集遙測資料。
- 儘可能透明地向用戶說明您收集了什麼。
❌ 不建議
- 引入一個不要求使用者同意的自定義遙測收集解決方案。
- 收集個人身份資訊 (PII)。
- 收集不必要的遙測資料。
- 僅使用
telemetry.telemetryLevel
設定,因為它有時可能與isTelemetryEnabled
不一致。