Skip to content

Commit 8ca0be7

Browse files
committed
[lldb][lldb-dap] show modules pane if supported by the adapter
Fixes #140589 Added logic to dynamically set the `lldb-dap.showModules` context based on the presence of modules in the debug session.
1 parent c56e7f2 commit 8ca0be7

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

lldb/tools/lldb-dap/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,7 @@
787787
{
788788
"id": "lldb-dap.modules",
789789
"name": "Modules",
790-
"when": "inDebugMode && debugType == 'lldb-dap'",
790+
"when": "inDebugMode && debugType == 'lldb-dap' && lldb-dap.showModules",
791791
"icon": "$(symbol-module)"
792792
}
793793
]

lldb/tools/lldb-dap/src-ts/debug-session-tracker.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ export class DebugSessionTracker
5252
createDebugAdapterTracker(
5353
session: vscode.DebugSession,
5454
): vscode.ProviderResult<vscode.DebugAdapterTracker> {
55+
this.showModulesTreeView(false);
5556
return {
5657
onDidSendMessage: (message) => this.onDidSendMessage(session, message),
5758
onExit: () => this.onExit(session),
@@ -73,6 +74,14 @@ export class DebugSessionTracker
7374
this.modulesChanged.fire();
7475
}
7576

77+
private showModulesTreeView(showModules: boolean) {
78+
vscode.commands.executeCommand(
79+
"setContext",
80+
"lldb-dap.showModules",
81+
showModules,
82+
);
83+
}
84+
7685
private onDidSendMessage(
7786
session: vscode.DebugSession,
7887
message: DebugProtocol.ProtocolMessage,
@@ -102,6 +111,8 @@ export class DebugSessionTracker
102111
console.error("unexpected module event reason");
103112
break;
104113
}
114+
115+
this.showModulesTreeView(modules.length > 0);
105116
this.modules.set(session, modules);
106117
this.modulesChanged.fire();
107118
}

0 commit comments

Comments
 (0)