@@ -105,9 +105,11 @@ async function getDebugConfiguration(
105
105
const commandCCpp : string = createCommandLink ( "ms-vscode.cpptools" ) ;
106
106
const commandCodeLLDB : string = createCommandLink ( "vadimcn.vscode-lldb" ) ;
107
107
const commandNativeDebug : string = createCommandLink ( "webfreak.debug" ) ;
108
+ const commandLLDBDap : string = createCommandLink ( "llvm-vs-code-extensions.lldb-dap" ) ;
108
109
109
110
await vscode . window . showErrorMessage (
110
111
`Install [CodeLLDB](command:${ commandCodeLLDB } "Open CodeLLDB")` +
112
+ `, [lldb-dap](command:${ commandLLDBDap } "Open lldb-dap")` +
111
113
`, [C/C++](command:${ commandCCpp } "Open C/C++") ` +
112
114
`or [Native Debug](command:${ commandNativeDebug } "Open Native Debug") for debugging.` ,
113
115
) ;
@@ -220,10 +222,21 @@ type DebugConfigProvider<Type extends string, DebugConfig extends BaseDebugConfi
220
222
221
223
type KnownEnginesType = ( typeof knownEngines ) [ keyof typeof knownEngines ] ;
222
224
const knownEngines : {
225
+ "llvm-vs-code-extensions.lldb-dap" : DebugConfigProvider < "lldb-dap" , LldbDapDebugConfig > ;
223
226
"vadimcn.vscode-lldb" : DebugConfigProvider < "lldb" , CodeLldbDebugConfig > ;
224
227
"ms-vscode.cpptools" : DebugConfigProvider < "cppvsdbg" | "cppdbg" , CCppDebugConfig > ;
225
228
"webfreak.debug" : DebugConfigProvider < "gdb" , NativeDebugConfig > ;
226
229
} = {
230
+ "llvm-vs-code-extensions.lldb-dap" :{
231
+ type : "lldb-dap" ,
232
+ executableProperty : "program" ,
233
+ environmentProperty : ( env ) => [ "env" , env ] ,
234
+ runnableArgsProperty : ( runnableArgs : ra . CargoRunnableArgs ) => [
235
+ "args" ,
236
+ runnableArgs . executableArgs ,
237
+ ] ,
238
+
239
+ } ,
227
240
"vadimcn.vscode-lldb" : {
228
241
type : "lldb" ,
229
242
executableProperty : "program" ,
@@ -336,6 +349,13 @@ type CCppDebugConfig = {
336
349
} ;
337
350
} & BaseDebugConfig < "cppvsdbg" | "cppdbg" > ;
338
351
352
+ type LldbDapDebugConfig = {
353
+ program : string ;
354
+ args : string [ ] ;
355
+ env : Record < string , string > ;
356
+ } & BaseDebugConfig < "lldb-dap" > ;
357
+
358
+
339
359
type CodeLldbDebugConfig = {
340
360
program : string ;
341
361
args : string [ ] ;
0 commit comments