diff --git a/src/debugCodeLensProvider.ts b/src/debugCodeLensProvider.ts index e6b3bca3..66f1e9bc 100644 --- a/src/debugCodeLensProvider.ts +++ b/src/debugCodeLensProvider.ts @@ -102,7 +102,7 @@ class DebugCodeLensProvider implements vscode.CodeLensProvider { public async provideCodeLenses(document: vscode.TextDocument, token: vscode.CancellationToken): Promise { try { - const mainMethods: IMainMethod[] = await resolveMainMethod(document.uri); + const mainMethods: IMainMethod[] = await resolveMainMethod(document.uri, token); return _.flatten(mainMethods.map((method) => { return [ new vscode.CodeLens(method.range, { diff --git a/src/languageServerPlugin.ts b/src/languageServerPlugin.ts index 0e6c6e49..3c542aac 100644 --- a/src/languageServerPlugin.ts +++ b/src/languageServerPlugin.ts @@ -33,7 +33,11 @@ export interface ILaunchValidationResponse { readonly proposals?: IMainClassOption[]; } -export async function resolveMainMethod(uri: vscode.Uri): Promise { +export async function resolveMainMethod(uri: vscode.Uri, token?: vscode.CancellationToken): Promise { + if (token) { + return await commands.executeJavaLanguageServerCommand(commands.JAVA_RESOLVE_MAINMETHOD, uri.toString(), token); + } + return await commands.executeJavaLanguageServerCommand(commands.JAVA_RESOLVE_MAINMETHOD, uri.toString()); }