44 *--------------------------------------------------------------------------------------------*/
55
66import { commands , Disposable , ExtensionContext , extensions , l10n , LogLevel , LogOutputChannel , window } from 'vscode' ;
7+ import TelemetryReporter from '@vscode/extension-telemetry' ;
78import { GithubRemoteSourceProvider } from './remoteSourceProvider' ;
89import { API , GitExtension } from './typings/git' ;
910import { registerCommands } from './commands' ;
@@ -29,8 +30,12 @@ export function activate(context: ExtensionContext): void {
2930 disposables . push ( logger . onDidChangeLogLevel ( onDidChangeLogLevel ) ) ;
3031 onDidChangeLogLevel ( logger . logLevel ) ;
3132
33+ const { aiKey } = require ( '../package.json' ) as { aiKey : string } ;
34+ const telemetryReporter = new TelemetryReporter ( aiKey ) ;
35+ disposables . push ( telemetryReporter ) ;
36+
3237 disposables . push ( initializeGitBaseExtension ( ) ) ;
33- disposables . push ( initializeGitExtension ( context , logger ) ) ;
38+ disposables . push ( initializeGitExtension ( context , telemetryReporter , logger ) ) ;
3439}
3540
3641function initializeGitBaseExtension ( ) : Disposable {
@@ -78,7 +83,7 @@ function setGitHubContext(gitAPI: API, disposables: DisposableStore) {
7883 }
7984}
8085
81- function initializeGitExtension ( context : ExtensionContext , logger : LogOutputChannel ) : Disposable {
86+ function initializeGitExtension ( context : ExtensionContext , telemetryReporter : TelemetryReporter , logger : LogOutputChannel ) : Disposable {
8287 const disposables = new DisposableStore ( ) ;
8388
8489 let gitExtension = extensions . getExtension < GitExtension > ( 'vscode.git' ) ;
@@ -93,7 +98,7 @@ function initializeGitExtension(context: ExtensionContext, logger: LogOutputChan
9398 disposables . add ( registerCommands ( gitAPI ) ) ;
9499 disposables . add ( new GithubCredentialProviderManager ( gitAPI ) ) ;
95100 disposables . add ( new GithubBranchProtectionProviderManager ( gitAPI , context . globalState , logger ) ) ;
96- disposables . add ( gitAPI . registerPushErrorHandler ( new GithubPushErrorHandler ( ) ) ) ;
101+ disposables . add ( gitAPI . registerPushErrorHandler ( new GithubPushErrorHandler ( telemetryReporter ) ) ) ;
97102 disposables . add ( gitAPI . registerRemoteSourcePublisher ( new GithubRemoteSourcePublisher ( gitAPI ) ) ) ;
98103 disposables . add ( new GitHubCanonicalUriProvider ( gitAPI ) ) ;
99104 disposables . add ( new VscodeDevShareProvider ( gitAPI ) ) ;
0 commit comments