import { execSync } from 'child_process' ; import * as fs from 'fs' ; import { dirname , isAbsolute , join } from 'path' ; import * as vscode from 'vscode' ; export class AblDebugConfigurationProvider implements vscode . DebugConfigurationProvider { param folder param token public provideDebugConfigurations ( folder , token ? ) { return [ { name : 'Launch' , type : 'abl' , request : 'launch' , program : '${file}' , } , { name : 'Attach' , type : 'abl' , request : 'attach' , port : 3099 , address : '127.0.0.1' , localRoot : '${workspaceFolder}' , } , ] ; } public resolveDebugConfiguration ? ( folder , debugConfiguration , token ? ) { if ( ! debugConfiguration || ! debugConfiguration . request ) { const activeEditor = vscode . window . activeTextEditor ; if ( ! activeEditor || activeEditor . document . languageId !== 'abl' ) { return ; } return { name : 'Launch' , type : 'abl' , request : 'launch' , program : '${file}' , } ; } return debugConfiguration ; } }