遙測擴充套件作者指南
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和onDidChangeTelemetryEnabledAPI。 - 如果您有自定義遙測設定,請將其標記為
telemetry和usesOnlineServices。 - 收集儘可能少的遙測資料。
- 儘可能向您的使用者公開您收集的內容。
❌ 不建議
- 引入不要求使用者同意的自定義遙測收集解決方案。
- 收集個人身份資訊 (PII)。
- 收集比必要更多的遙測資料。
- 僅使用
telemetry.telemetryLevel設定,因為它有時可能與isTelemetryEnabled不符。