diff --git a/README.md b/README.md index cf20240..2bae9ab 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,7 @@ GitLens is highly customizable and provides many configuration settings to allow |Name | Description |-----|------------ |`gitlens.advanced.toggleWhitespace.enabled`|Specifies whether or not to toggle whitespace off then showing blame annotations (*may* be required by certain fonts/themes) +|`gitlens.advanced.telemetry.enabled`|Specifies whether or not to enable GitLens telemetry (even if enabled still abides by the overall `telemetry.enableTelemetry` setting |`gitlens.advanced.menus`|Specifies which commands will be added to which menus |`gitlens.advanced.caching.enabled`|Specifies whether git output will be cached |`gitlens.advanced.caching.maxLines`|Specifies the threshold for caching larger documents diff --git a/package.json b/package.json index e32905b..c697bbd 100644 --- a/package.json +++ b/package.json @@ -691,6 +691,11 @@ "default": true, "description": "Specifies whether or not to close the QuickPick menu when focus is lost" }, + "gitlens.advanced.telemetry.enabled": { + "type": "boolean", + "default": true, + "description": "Specifies whether or not to enable GitLens telemetry (even if enabled still abides by the overall `telemetry.enableTelemetry` setting" + }, "gitlens.advanced.toggleWhitespace.enabled": { "type": "boolean", "default": false, diff --git a/src/configuration.ts b/src/configuration.ts index bee58e4..9306e45 100644 --- a/src/configuration.ts +++ b/src/configuration.ts @@ -98,6 +98,9 @@ export interface IAdvancedConfig { quickPick: { closeOnFocusOut: boolean; }; + telemetry: { + enabled: boolean; + }; toggleWhitespace: { enabled: boolean; }; diff --git a/src/telemetry.ts b/src/telemetry.ts index 79a296b..d15360f 100644 --- a/src/telemetry.ts +++ b/src/telemetry.ts @@ -1,5 +1,6 @@ 'use strict'; import { Disposable, env, version, workspace } from 'vscode'; +import { ExtensionKey, IConfig } from './configuration'; import * as os from 'os'; let _reporter: TelemetryReporter; @@ -7,7 +8,8 @@ let _reporter: TelemetryReporter; export class Telemetry extends Disposable { static configure(key: string) { - if (!workspace.getConfiguration('telemetry').get('enableTelemetry', true)) return; + const cfg = workspace.getConfiguration().get(ExtensionKey)!; + if (!cfg.advanced.telemetry.enabled || !workspace.getConfiguration('telemetry').get('enableTelemetry', true)) return; _reporter = new TelemetryReporter(key); }