4
4
*--------------------------------------------------------------------------------------------*/
5
5
6
6
import { commands , Disposable , ExtensionContext , extensions , l10n , LogLevel , LogOutputChannel , window } from 'vscode' ;
7
+ import TelemetryReporter from '@vscode/extension-telemetry' ;
7
8
import { GithubRemoteSourceProvider } from './remoteSourceProvider' ;
8
9
import { API , GitExtension } from './typings/git' ;
9
10
import { registerCommands } from './commands' ;
@@ -29,8 +30,12 @@ export function activate(context: ExtensionContext): void {
29
30
disposables . push ( logger . onDidChangeLogLevel ( onDidChangeLogLevel ) ) ;
30
31
onDidChangeLogLevel ( logger . logLevel ) ;
31
32
33
+ const { aiKey } = require ( '../package.json' ) as { aiKey : string } ;
34
+ const telemetryReporter = new TelemetryReporter ( aiKey ) ;
35
+ disposables . push ( telemetryReporter ) ;
36
+
32
37
disposables . push ( initializeGitBaseExtension ( ) ) ;
33
- disposables . push ( initializeGitExtension ( context , logger ) ) ;
38
+ disposables . push ( initializeGitExtension ( context , telemetryReporter , logger ) ) ;
34
39
}
35
40
36
41
function initializeGitBaseExtension ( ) : Disposable {
@@ -78,7 +83,7 @@ function setGitHubContext(gitAPI: API, disposables: DisposableStore) {
78
83
}
79
84
}
80
85
81
- function initializeGitExtension ( context : ExtensionContext , logger : LogOutputChannel ) : Disposable {
86
+ function initializeGitExtension ( context : ExtensionContext , telemetryReporter : TelemetryReporter , logger : LogOutputChannel ) : Disposable {
82
87
const disposables = new DisposableStore ( ) ;
83
88
84
89
let gitExtension = extensions . getExtension < GitExtension > ( 'vscode.git' ) ;
@@ -93,7 +98,7 @@ function initializeGitExtension(context: ExtensionContext, logger: LogOutputChan
93
98
disposables . add ( registerCommands ( gitAPI ) ) ;
94
99
disposables . add ( new GithubCredentialProviderManager ( gitAPI ) ) ;
95
100
disposables . add ( new GithubBranchProtectionProviderManager ( gitAPI , context . globalState , logger ) ) ;
96
- disposables . add ( gitAPI . registerPushErrorHandler ( new GithubPushErrorHandler ( ) ) ) ;
101
+ disposables . add ( gitAPI . registerPushErrorHandler ( new GithubPushErrorHandler ( telemetryReporter ) ) ) ;
97
102
disposables . add ( gitAPI . registerRemoteSourcePublisher ( new GithubRemoteSourcePublisher ( gitAPI ) ) ) ;
98
103
disposables . add ( new GitHubCanonicalUriProvider ( gitAPI ) ) ;
99
104
disposables . add ( new VscodeDevShareProvider ( gitAPI ) ) ;
0 commit comments