Leitfaden für Telemetrie-Erweiterungsautoren
Visual Studio Code sammelt Nutzungsdaten und sendet diese zur Verbesserung unserer Produkte und Dienste an Microsoft. Lesen Sie unsere Datenschutzerklärung und die Telemetriedokumentation, um mehr zu erfahren.
Dieses Thema enthält Richtlinien für Erweiterungsautoren, damit ihre Erweiterungen den VS Code-Telemetrieanforderungen und bewährten Verfahren entsprechen.
Hinweis: Wenn Sie keine Nutzungsdaten an Microsoft senden möchten, können Sie die Benutzereinstellung
telemetry.telemetryLevelaufoffsetzen. Einstellungen.
Telemetriemodul
Das VS Code-Team pflegt das npm-Modul @vscode/extension-telemetry, das eine konsistente und sichere Möglichkeit bietet, Telemetrie innerhalb von VS Code zu sammeln. Das Modul meldet Telemetrie an Azure Monitor und Application Insights und garantiert Abwärtskompatibilität mit früheren Versionen von VS Code.
Befolgen Sie diese Anleitung, um Azure Monitor einzurichten und Ihren Application Insights-Instrumentierungsschlüssel zu erhalten.
Ohne das Telemetriemodul
Erweiterungsautoren, die Application Insights nicht verwenden möchten, können ihre eigene benutzerdefinierte Lösung zur Übermittlung von Telemetriedaten nutzen. In diesem Fall ist es dennoch erforderlich, dass Erweiterungsautoren die Wahl des Benutzers respektieren, indem sie die API isTelemetryEnabled und onDidChangeTelemetryEnabled verwenden. Dadurch haben Benutzer einen zentralen Ort, um ihre Telemetrieeinstellungen zu steuern.
Benutzerdefinierte Telemetrieeinstellung
Erweiterungen möchten dem Benutzer möglicherweise die Kontrolle über erweiterungsspezifische Telemetrie unabhängig von der VS Code-Telemetrie ermöglichen. In diesem Fall empfehlen wir die Einführung einer spezifischen Erweiterungseinstellung. Es wird empfohlen, benutzerdefinierte Telemetrieeinstellungen mit telemetry und usesOnlineServices zu kennzeichnen, damit Benutzer sie leichter in der Einstellungen-Benutzeroberfläche abfragen können. Das Hinzufügen einer benutzerdefinierten Telemetrieeinstellung ist keine Ausnahme von der Respektierung der Entscheidung eines Benutzers, und die Flags isTelemetryEnabled und onDidChangeTelemetryEnabled müssen immer beachtet werden. Wenn isTelemetryEnabled falsch meldet, dürfen keine Telemetriedaten gesendet werden, auch wenn Ihre Einstellung aktiviert ist.
telemetry.json
Wir verstehen, dass Telemetrie für viele Benutzer ein sensibles Thema sein kann, und wir bemühen uns um größtmögliche Transparenz. Das Kernprodukt von VS Code und die meisten First-Party-Erweiterungen werden mit einer telemetry.json-Datei in ihrem Stammverzeichnis ausgeliefert. Dies ermöglicht es einem Benutzer, die VS Code-CLI mit dem Flag --telemetry zu verwenden, um eine Zusammenfassung aller von VS Code produzierten Telemetriedaten zu erhalten. Erweiterungsautoren können eine telemetry.json-Datei in ihrem Stammverzeichnis einschließen, und sie wird ebenfalls im CLI-Dump angezeigt.
Was tun und was nicht tun
✔️ Tun
- Verwenden Sie das npm-Modul @vscode/extension-telemetry, wenn die Verwendung von Application Insights für Sie funktioniert.
- Andernfalls beachten Sie die API
isTelemetryEnabledundonDidChangeTelemetryEnabled. - Kennzeichnen Sie Ihre benutzerdefinierte Telemetrieeinstellung mit
telemetryundusesOnlineServices, falls Sie eine haben. - Sammeln Sie so wenig Telemetrie wie möglich.
- Seien Sie so transparent wie möglich gegenüber Ihren Benutzern, was Sie sammeln.
❌ Nicht tun
- Führen Sie eine benutzerdefinierte Telemetriesammlungslösung ein, die keine Benutzerzustimmung einholt.
- Erfassen Sie persönlich identifizierbare Informationen (PII).
- Sammeln Sie mehr Telemetrie als nötig.
- Verwenden Sie nur die Einstellung
telemetry.telemetryLevel, da diese im Vergleich zuisTelemetryEnabledmanchmal falsch sein kann.