遙測擴充功能作者指南
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
檔案。這允許使用者使用 VS Code CLI 和 --telemetry
旗標來接收 VS Code 產生的所有遙測資料的傾印。擴充功能作者可以在其根目錄中包含 telemetry.json
檔案,它也會出現在 CLI 傾印中。
應做事項與不應做事項
✔️ 應做
- 如果使用 Application Insights 適用於您,請使用 @vscode/extension-telemetry npm 模組。
- 否則,請尊重
isTelemetryEnabled
和onDidChangeTelemetryEnabled
API。 - 如果您有自訂遙測設定,請使用
telemetry
和usesOnlineServices
標記您的設定。 - 盡可能少收集遙測資料。
- 盡可能對您的使用者透明化您收集的內容。
❌ 不應做
- 引入未徵求使用者同意的自訂遙測收集解決方案。
- 收集個人身份識別資訊 (PII)。
- 收集超出必要的遙測資料。
- 僅使用
telemetry.telemetryLevel
設定,因為與isTelemetryEnabled
相比,它有時可能不正確。