Skip to content

Commit 5961cc5

Browse files
authored
chore: added additional debug logging to extension activation (#298)
1 parent 1bcdc5f commit 5961cc5

File tree

10 files changed

+98
-47
lines changed

10 files changed

+98
-47
lines changed

src/extension.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,13 @@ export const activate = async (context: vscode.ExtensionContext) => {
5454
StateManager.globalState = context.globalState
5555
StateManager.workspaceState = context.workspaceState
5656

57-
await utils.checkForWorkspaceFolders()
57+
utils.showDebugOutput('DevCycle extension activating')
5858

59+
await utils.checkForWorkspaceFolders()
5960
void cliUtils.loadCli()
6061

62+
utils.showDebugOutput('DevCycle CLI loaded')
63+
6164
if (!StateManager.getGlobalState(KEYS.SEND_METRICS_PROMPTED)) {
6265
const sendMetricsMessage = `DevCycle collects usage metrics to gather information on feature adoption, usage, and frequency.
6366
By clicking "Accept", you consent to the collection of this data. Would you like to opt-in?`
@@ -78,13 +81,13 @@ export const activate = async (context: vscode.ExtensionContext) => {
7881
await StateManager.setGlobalState(KEYS.EXTENSION_INSTALLED, true)
7982
}
8083

84+
utils.showDebugOutput('Registering View Providers')
8185
await registerStartupViewProvider(context)
8286
await registerLoginViewProvider(context)
8387
const { usagesDataProvider, usagesTreeView } =
8488
await registerUsagesViewProvider(context)
85-
const environmentsDataProvider = await registerEnvironmentsViewProvider(
86-
context,
87-
)
89+
const environmentsDataProvider =
90+
await registerEnvironmentsViewProvider(context)
8891
const inspectorViewProvider = await registerInspectorViewProvider(context)
8992
const homeViewProvider = await registerHomeViewProvider(context)
9093
const refreshProviders: (
@@ -190,6 +193,8 @@ export const activate = async (context: vscode.ExtensionContext) => {
190193
const foldersToRefresh = [...event.added, ...event.removed]
191194
await loginAndRefresh([...foldersToRefresh], true)
192195
})
196+
197+
utils.showDebugOutput('DevCycle extension activated')
193198
}
194199

195200
export function deactivate() {}

src/utils/loginAndRefresh.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export async function loginAndRefresh(
1212
folders: vscode.WorkspaceFolder[],
1313
headlessLogin = false,
1414
) {
15+
utils.showDebugOutput('Logging in and refreshing all folders')
1516
const foldersToRefresh = []
1617

1718
for (const folder of folders) {
@@ -21,11 +22,18 @@ export async function loginAndRefresh(
2122
foldersToRefresh.push(folder)
2223
} catch (e) {}
2324
}
25+
utils.showDebugOutput(
26+
`Logged in, refreshing all ${foldersToRefresh.length} folders`,
27+
)
2428
await Promise.all(foldersToRefresh.map(executeRefreshAllCommand))
2529
const loggedInFolders = utils.getLoggedInFolders()
2630
await vscode.commands.executeCommand(
2731
'setContext',
2832
'devcycle-feature-flags.hasCredentialsAndProject',
2933
loggedInFolders.length > 0,
3034
)
35+
36+
utils.showDebugOutput(
37+
`Logged in and refreshed ${loggedInFolders.length} folders`,
38+
)
3139
}
Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
import * as vscode from 'vscode'
22
import { EnvironmentsTreeProvider } from './EnvironmentsTreeProvider'
3+
import utils from '../../utils'
34

4-
export async function registerEnvironmentsViewProvider(context: vscode.ExtensionContext) {
5+
export async function registerEnvironmentsViewProvider(
6+
context: vscode.ExtensionContext,
7+
) {
58
const treeDataProvider = new EnvironmentsTreeProvider()
69

7-
const treeView = vscode.window.createTreeView(
8-
'devcycle-environments',
9-
{ treeDataProvider },
10-
)
10+
const treeView = vscode.window.createTreeView('devcycle-environments', {
11+
treeDataProvider,
12+
})
13+
14+
utils.showDebugOutput('Registered Environments View Provider')
1115

1216
return treeDataProvider
1317
}
Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
1-
21
import * as vscode from 'vscode'
32
import { HomeViewProvider } from './HomeViewProvider'
3+
import utils from '../../utils'
4+
5+
export async function registerHomeViewProvider(
6+
context: vscode.ExtensionContext,
7+
) {
8+
const homeViewProvider = new HomeViewProvider(context.extensionUri)
9+
context.subscriptions.push(
10+
vscode.window.registerWebviewViewProvider(
11+
'devcycle-home',
12+
homeViewProvider,
13+
),
14+
)
15+
16+
utils.showDebugOutput('Registered Home View Provider')
417

5-
export async function registerHomeViewProvider(context: vscode.ExtensionContext) {
6-
const homeViewProvider = new HomeViewProvider(context.extensionUri)
7-
context.subscriptions.push(
8-
vscode.window.registerWebviewViewProvider(
9-
'devcycle-home',
10-
homeViewProvider
11-
),
12-
)
13-
14-
return homeViewProvider
18+
return homeViewProvider
1519
}
Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
1-
21
import * as vscode from 'vscode'
32
import { InspectorViewProvider } from './InspectorViewProvider'
3+
import utils from '../../utils'
4+
5+
export async function registerInspectorViewProvider(
6+
context: vscode.ExtensionContext,
7+
) {
8+
const inspectorViewProvider = new InspectorViewProvider(context.extensionUri)
9+
context.subscriptions.push(
10+
vscode.window.registerWebviewViewProvider(
11+
'devcycle-inspector',
12+
inspectorViewProvider,
13+
),
14+
)
15+
16+
utils.showDebugOutput('Registered Inspector View Provider')
417

5-
export async function registerInspectorViewProvider(context: vscode.ExtensionContext) {
6-
const inspectorViewProvider = new InspectorViewProvider(context.extensionUri)
7-
context.subscriptions.push(
8-
vscode.window.registerWebviewViewProvider(
9-
'devcycle-inspector',
10-
inspectorViewProvider,
11-
),
12-
)
13-
14-
return inspectorViewProvider
18+
return inspectorViewProvider
1519
}
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
import * as vscode from 'vscode'
22
import { LoginViewProvider } from './LoginViewProvider'
3+
import utils from '../../utils'
34

4-
export async function registerLoginViewProvider(context: vscode.ExtensionContext) {
5+
export async function registerLoginViewProvider(
6+
context: vscode.ExtensionContext,
7+
) {
58
const loginViewProvider = new LoginViewProvider(context.extensionUri)
69
context.subscriptions.push(
710
vscode.window.registerWebviewViewProvider(
811
'devcycle-login',
9-
loginViewProvider
12+
loginViewProvider,
1013
),
1114
)
1215

16+
utils.showDebugOutput('Registered Login View Provider')
17+
1318
return loginViewProvider
1419
}
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
import * as vscode from 'vscode'
22
import { ResourcesViewProvider } from './ResourcesViewProvider'
3+
import utils from '../../utils'
34

4-
export async function registerResourcesViewProvider(context: vscode.ExtensionContext) {
5+
export async function registerResourcesViewProvider(
6+
context: vscode.ExtensionContext,
7+
) {
58
const resourcesProvider = new ResourcesViewProvider(context.extensionUri)
69
context.subscriptions.push(
710
vscode.window.registerWebviewViewProvider(
811
'devcycle-resources',
9-
resourcesProvider
12+
resourcesProvider,
1013
),
1114
)
1215

16+
utils.showDebugOutput('Registered Resources View Provider')
17+
1318
return resourcesProvider
1419
}
Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,23 @@
11
import * as vscode from 'vscode'
22
import { STARTUP_VIEWS, StartupViewProvider } from './StartupViewProvider'
3+
import utils from '../../utils'
34

4-
export async function registerStartupViewProvider(context: vscode.ExtensionContext) {
5-
const startupViewProvider = new StartupViewProvider(context.extensionUri, STARTUP_VIEWS.WORKSPACE)
5+
export async function registerStartupViewProvider(
6+
context: vscode.ExtensionContext,
7+
) {
8+
const startupViewProvider = new StartupViewProvider(
9+
context.extensionUri,
10+
STARTUP_VIEWS.WORKSPACE,
11+
)
612

713
context.subscriptions.push(
814
vscode.window.registerWebviewViewProvider(
915
'devcycle-startup',
10-
startupViewProvider
16+
startupViewProvider,
1117
),
1218
)
1319

20+
utils.showDebugOutput('Registered Startup View Provider')
21+
1422
return startupViewProvider
15-
}
23+
}

src/views/usages/UsagesTree/UsagesTreeProvider.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { CodeUsageNode } from './CodeUsageNode'
1010
import { FolderNode } from '../../utils/tree/FolderNode'
1111
import { KEYS, StateManager } from '../../../StateManager'
1212
import { updateMatchesFromSavedFile } from './utils'
13+
import utils from '../../../utils'
1314

1415
export class UsagesTreeProvider
1516
implements vscode.TreeDataProvider<CodeUsageNode>
@@ -66,6 +67,8 @@ export class UsagesTreeProvider
6667
showLoading: boolean = true,
6768
savedFilePath?: string,
6869
): Promise<void> {
70+
utils.showDebugOutput(`Refreshing usages for ${folder.name}`)
71+
6972
const isLoggedIn = StateManager.getFolderState(folder.name, KEYS.LOGGED_IN)
7073
if (!isLoggedIn || this.isRefreshing[folder.name]) {
7174
return
@@ -113,6 +116,7 @@ export class UsagesTreeProvider
113116
},
114117
)
115118
this.isRefreshing[folder.name] = false
119+
utils.showDebugOutput(`Finished refreshing usages for ${folder.name}`)
116120
}
117121

118122
private async populateCodeUsagesNodes(
@@ -137,7 +141,7 @@ export class UsagesTreeProvider
137141
const noUsagesNode = new CodeUsageNode(
138142
'noUsages',
139143
'No usages found',
140-
'usage'
144+
'usage',
141145
)
142146
this.flagsByFolder[folder.name].push(noUsagesNode)
143147
}

src/views/usages/registerUsagesViewProvider.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ import { UsagesTreeProvider } from './UsagesTree'
33
import { getOrganizationId } from '../../cli'
44
import { trackRudderstackEvent } from '../../RudderStackService'
55
import { CodeUsageNode } from './UsagesTree/CodeUsageNode'
6+
import utils from '../../utils'
67

7-
export async function registerUsagesViewProvider(context: vscode.ExtensionContext) {
8+
export async function registerUsagesViewProvider(
9+
context: vscode.ExtensionContext,
10+
) {
811
const usagesDataProvider = new UsagesTreeProvider(context)
912

10-
const usagesTreeView = vscode.window.createTreeView(
11-
'devcycle-code-usages',
12-
{ treeDataProvider: usagesDataProvider },
13-
)
13+
const usagesTreeView = vscode.window.createTreeView('devcycle-code-usages', {
14+
treeDataProvider: usagesDataProvider,
15+
})
1416
usagesTreeView.onDidChangeVisibility(async (e) => {
1517
const [workspaceFolder] = vscode.workspace.workspaceFolders || []
1618
const orgId = getOrganizationId(workspaceFolder)
@@ -22,10 +24,12 @@ export async function registerUsagesViewProvider(context: vscode.ExtensionContex
2224
if (node instanceof CodeUsageNode && node.type === 'usage') {
2325
vscode.commands.executeCommand(
2426
'devcycle-featureflags.usagesNodeClicked',
25-
node
27+
node,
2628
)
2729
}
2830
})
2931

32+
utils.showDebugOutput('Registered Usages View Provider')
33+
3034
return { usagesDataProvider, usagesTreeView }
31-
}
35+
}

0 commit comments

Comments
 (0)