Skip to content

Commit b0dcf12

Browse files
ono-maxko1
authored andcommitted
Send the command to enable Trace Inspector as soon as possible
Since it takes time to get vscode.debug.activeDebugSession, we use the session obtained in DebugAdapterDescriptorFactory#createDebugAdapterDescriptor.
1 parent 6aa946f commit b0dcf12

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/inspector.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ export function registerInspectorView(emitter: vscode.EventEmitter<any>, version
2626
const inlayHintsProvider = new RdbgCodeLensProvider(view);
2727
const disposables: vscode.Disposable[] = [];
2828
let traceInspectorEnabled: boolean | undefined;
29+
// Since it takes time to get vscode.debug.activeDebugSession,
30+
// we holds the session obtained in DebugAdapterDescriptorFactory#createDebugAdapterDescriptor.
31+
let activeSession: vscode.DebugSession | undefined;
2932

3033
disposables.push(
3134
vscode.languages.registerCodeLensProvider(
@@ -63,10 +66,7 @@ export function registerInspectorView(emitter: vscode.EventEmitter<any>, version
6366
if (!traceInspectorEnabled) {
6467
return;
6568
}
66-
while (!vscode.debug.activeDebugSession) {
67-
await new Promise((resolve) => setTimeout(resolve, 10));
68-
}
69-
await treeProvider.toggleTreeItem.enable();
69+
await treeProvider.toggleTreeItem.enable(activeSession);
7070
break;
7171
}
7272
}),
@@ -90,6 +90,7 @@ export function registerInspectorView(emitter: vscode.EventEmitter<any>, version
9090
traceInspectorEnabled = false;
9191
return;
9292
}
93+
activeSession = session;
9394
const config = session.configuration as LaunchConfiguration;
9495
traceInspectorEnabled = await validVersion(config, versionChecker, treeProvider);
9596
}),

src/rdbgTreeItem.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -183,18 +183,18 @@ export class ToggleTreeItem extends RdbgTreeItem {
183183
}
184184

185185
async toggle() {
186+
const session = vscode.debug.activeDebugSession;
186187
if (this._enabled) {
187-
this.disable();
188+
this.disable(session);
188189
} else {
189-
this.enable();
190+
this.enable(session);
190191
}
191192
}
192193

193-
async enable() {
194+
async enable(session: vscode.DebugSession | undefined) {
194195
this.iconPath = stopCircleIcon;
195196
this._enabled = true;
196197
this.label = "Disable Trace";
197-
const session = vscode.debug.activeDebugSession;
198198
if (session === undefined) {
199199
return;
200200
}
@@ -249,9 +249,8 @@ export class ToggleTreeItem extends RdbgTreeItem {
249249
this.label = "Enable Trace";
250250
}
251251

252-
async disable() {
252+
async disable(session: vscode.DebugSession | undefined) {
253253
this.resetView();
254-
const session = vscode.debug.activeDebugSession;
255254
if (session === undefined || this._enabledCommand === undefined) {
256255
return;
257256
}

0 commit comments

Comments
 (0)