diff --git a/package.json b/package.json index ff146e413..91fe52961 100644 --- a/package.json +++ b/package.json @@ -1813,6 +1813,11 @@ "title": "%java.server.restart%", "category": "Java" }, + { + "command": "java.runtime.restartIntellisense", + "title": "Restart IntelliSense for Active File", + "category": "Java" + }, { "command": "java.action.filesExplorerPasteAction", "title": "%java.action.filesExplorerPasteAction%", @@ -1941,6 +1946,11 @@ "command": "java.action.showTypeHierarchy", "when": "javaLSReady && editorTextFocus && editorLangId == java", "group": "0_navigation@3" + }, + { + "command": "java.runtime.restartIntellisense", + "when": "editorTextFocus && editorLangId == java", + "group": "navigation@91" } ], "commandPalette": [ diff --git a/src/commands.ts b/src/commands.ts index be87ca431..72980ad13 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -284,6 +284,7 @@ export namespace Commands { * Command to restart the language server. */ export const RESTART_LANGUAGE_SERVER = 'java.server.restart'; + export const RESTART_INTELLISENSE_FOR_ACTIVE_FILE = 'java.runtime.restartIntellisense'; export const LEARN_MORE_ABOUT_REFACTORING = '_java.learnMoreAboutRefactorings'; diff --git a/src/extension.ts b/src/extension.ts index b7c221562..37872de2f 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -1270,6 +1270,13 @@ function registerRestartJavaLanguageServerCommand(context: ExtensionContext) { break; } })); + context.subscriptions.push(commands.registerCommand(Commands.RESTART_INTELLISENSE_FOR_ACTIVE_FILE, async () => { + const editor = window.activeTextEditor; + if (!editor || editor.document.languageId !== "java") { + return; + } + await commands.executeCommand(Commands.RESTART_LANGUAGE_SERVER); + })); } function escapeSnippetLiterals(value: string): string { diff --git a/test/lightweight-mode-suite/extension.test.ts b/test/lightweight-mode-suite/extension.test.ts index 1c3f8e08a..d349f2f9a 100644 --- a/test/lightweight-mode-suite/extension.test.ts +++ b/test/lightweight-mode-suite/extension.test.ts @@ -26,6 +26,7 @@ suite('Java Language Extension - LightWeight', () => { Commands.SWITCH_SERVER_MODE, Commands.OPEN_FILE, Commands.CLEAN_SHARED_INDEXES, + Commands.RESTART_INTELLISENSE_FOR_ACTIVE_FILE, Commands.RESTART_LANGUAGE_SERVER, Commands.FILESEXPLORER_ONPASTE, Commands.CHANGE_JAVA_SEARCH_SCOPE,