@@ -16,8 +16,12 @@ import { ext } from '../shared/extensionGlobals'
16
16
import { safeGet } from '../shared/extensionUtilities'
17
17
import { getLogger } from '../shared/logger'
18
18
import { RegionProvider } from '../shared/regions/regionProvider'
19
- import { recordVscodeActiveregions } from '../shared/telemetry/telemetry'
20
- import { registerCommand } from '../shared/telemetry/telemetryUtils'
19
+ import {
20
+ recordAwsHideRegion ,
21
+ recordAwsRefreshExplorer ,
22
+ recordAwsShowRegion ,
23
+ recordVscodeActiveRegions
24
+ } from '../shared/telemetry/telemetry'
21
25
import { AWSTreeNodeBase } from '../shared/treeview/nodes/awsTreeNodeBase'
22
26
import { ErrorNode } from '../shared/treeview/nodes/errorNode'
23
27
import { showErrorDetails } from '../shared/treeview/webviews/showErrorDetails'
@@ -43,7 +47,7 @@ export async function activate(activateArguments: {
43
47
44
48
await registerAwsExplorerCommands ( awsExplorer )
45
49
46
- recordVscodeActiveregions ( { value : awsExplorer . getRegionNodesSize ( ) } )
50
+ recordVscodeActiveRegions ( { value : awsExplorer . getRegionNodesSize ( ) } )
47
51
48
52
activateArguments . awsContextTrees . addTree ( awsExplorer )
49
53
@@ -58,28 +62,27 @@ async function registerAwsExplorerCommands(
58
62
awsExplorer : AwsExplorer ,
59
63
lambdaOutputChannel : vscode . OutputChannel = vscode . window . createOutputChannel ( 'AWS Lambda' )
60
64
) : Promise < void > {
61
- registerCommand ( {
62
- command : 'aws.showRegion' ,
63
- callback : async ( ) => {
65
+ vscode . commands . registerCommand ( 'aws.showRegion' , async ( ) => {
66
+ try {
64
67
await ext . awsContextCommands . onCommandShowRegion ( )
65
- recordVscodeActiveregions ( { value : awsExplorer . getRegionNodesSize ( ) } )
66
- } ,
67
- telemetryName : 'Command_aws.showRegion'
68
+ } finally {
69
+ recordAwsShowRegion ( )
70
+ recordVscodeActiveRegions ( { value : awsExplorer . getRegionNodesSize ( ) } )
71
+ }
68
72
} )
69
73
70
- registerCommand ( {
71
- command : 'aws.hideRegion' ,
72
- callback : async ( node ?: RegionNode ) => {
74
+ vscode . commands . registerCommand ( 'aws.hideRegion' , async ( node ?: RegionNode ) => {
75
+ try {
73
76
await ext . awsContextCommands . onCommandHideRegion ( safeGet ( node , x => x . regionCode ) )
74
- recordVscodeActiveregions ( { value : awsExplorer . getRegionNodesSize ( ) } )
75
- } ,
76
- telemetryName : 'Command_aws.hideRegion'
77
+ } finally {
78
+ recordAwsHideRegion ( )
79
+ recordVscodeActiveRegions ( { value : awsExplorer . getRegionNodesSize ( ) } )
80
+ }
77
81
} )
78
82
79
- registerCommand ( {
80
- command : 'aws.refreshAwsExplorer' ,
81
- callback : async ( ) => awsExplorer . refresh ( ) ,
82
- telemetryName : 'Command_aws.refreshAwsExplorer'
83
+ vscode . commands . registerCommand ( 'aws.refreshAwsExplorer' , async ( ) => {
84
+ recordAwsRefreshExplorer ( )
85
+ awsExplorer . refresh ( )
83
86
} )
84
87
85
88
vscode . commands . registerCommand (
@@ -93,36 +96,33 @@ async function registerAwsExplorerCommands(
93
96
} )
94
97
)
95
98
96
- registerCommand ( {
97
- command : 'aws.deleteCloudFormation' ,
98
- callback : async ( node : CloudFormationStackNode ) =>
99
- await deleteCloudFormation ( ( ) => awsExplorer . refresh ( node . parent ) , node ) ,
100
- telemetryName : 'cloudformation_delete'
101
- } )
99
+ vscode . commands . registerCommand (
100
+ 'aws.deleteCloudFormation' ,
101
+ async ( node : CloudFormationStackNode ) =>
102
+ await deleteCloudFormation ( ( ) => awsExplorer . refresh ( node . parent ) , node )
103
+ )
102
104
103
- registerCommand ( {
104
- command : 'aws.showErrorDetails' ,
105
- callback : async ( node : ErrorNode ) => await showErrorDetails ( node ) ,
106
- telemetryName : 'Command_aws.showErrorDetails'
107
- } )
105
+ vscode . commands . registerCommand ( 'aws.showErrorDetails' , async ( node : ErrorNode ) => await showErrorDetails ( node ) )
108
106
109
- registerCommand ( {
110
- command : 'aws.invokeLambda' ,
111
- callback : async ( node : LambdaFunctionNode ) =>
107
+ vscode . commands . registerCommand (
108
+ 'aws.invokeLambda' ,
109
+ async ( node : LambdaFunctionNode ) =>
112
110
await invokeLambda ( {
113
111
functionNode : node ,
114
112
outputChannel : lambdaOutputChannel
115
- } ) ,
116
- telemetryName : 'lambda_invokeremote'
117
- } )
113
+ } )
114
+ )
118
115
119
- registerCommand ( {
120
- command : 'aws.refreshAwsExplorerNode' ,
121
- callback : async ( awsexplorer : AwsExplorer , element : AWSTreeNodeBase ) => {
122
- awsexplorer . refresh ( element )
123
- } ,
124
- telemetryName : 'Command_aws.refreshAwsExplorerNode'
125
- } )
116
+ vscode . commands . registerCommand (
117
+ 'aws.refreshAwsExplorerNode' ,
118
+ async ( awsexplorer : AwsExplorer , element : AWSTreeNodeBase ) => {
119
+ try {
120
+ awsexplorer . refresh ( element )
121
+ } finally {
122
+ recordAwsRefreshExplorer ( )
123
+ }
124
+ }
125
+ )
126
126
}
127
127
128
128
function updateAwsExplorerWhenAwsContextCredentialsChange (
0 commit comments