From 9c28cf6c4ef7f2e9c4afaa936c8739e668244911 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Thu, 22 Jun 2023 13:16:06 +0200 Subject: [PATCH] iReverting "Prefixing all code names of commands with 'nbls'.", as more time will be needed to discuss, validate the patch and adjust to it. --- .../modules/java/lsp/server/Utils.java | 39 ------- .../java/lsp/server/db/DBAddConnection.java | 2 +- .../java/lsp/server/db/DBCommandProvider.java | 2 +- .../lsp/server/db/DBConnectionProvider.java | 2 +- .../java/lsp/server/htmlui/WebView.java | 2 +- .../ImplementAllAbstractMethodsAction.java | 2 +- .../protocol/NbCodeClientCapabilities.java | 27 ----- .../java/lsp/server/protocol/QuickOpen.java | 2 +- .../java/lsp/server/protocol/Server.java | 75 ++++++------ .../lsp/server/protocol/SurroundWithHint.java | 2 +- .../server/protocol/TestClassGenerator.java | 2 +- .../protocol/TextDocumentServiceImpl.java | 20 ++-- .../server/protocol/WorkspaceServiceImpl.java | 24 ++-- .../ChangeMethodParametersRefactoring.java | 2 +- ...tractSuperclassOrInterfaceRefactoring.java | 4 +- .../server/refactoring/MoveRefactoring.java | 2 +- .../server/refactoring/PullUpRefactoring.java | 2 +- .../refactoring/PushDownRefactoring.java | 2 +- .../java/lsp/server/protocol/ServerTest.java | 14 +-- java/java.lsp.server/vscode/package.json | 110 +++++++++--------- .../vscode/src/dbConfigurationProvider.ts | 4 +- java/java.lsp.server/vscode/src/extension.ts | 83 +++++++------ .../vscode/src/launchConfigurations.ts | 7 +- .../vscode/src/test/suite/extension.test.ts | 22 ++-- .../vscode/src/test/suite/testutils.ts | 6 +- .../java.lsp.server/vscode/src/testAdapter.ts | 9 +- .../openjdk/jtreg/CodeLensProviderImpl.java | 4 +- 27 files changed, 200 insertions(+), 272 deletions(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java index 958071f8cceb..08c637304ac9 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java @@ -26,13 +26,11 @@ import java.io.StringWriter; import java.net.MalformedURLException; import java.net.URI; -import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Set; -import java.util.stream.Collectors; import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; import javax.lang.model.element.ExecutableElement; @@ -55,7 +53,6 @@ import org.netbeans.api.java.source.CompilationInfo; import org.netbeans.api.lsp.StructureElement; import org.netbeans.modules.editor.java.Utilities; -import org.netbeans.modules.java.lsp.server.protocol.NbCodeClientCapabilities; import org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; import org.netbeans.spi.jumpto.type.SearchType; import org.openide.cookies.EditorCookie; @@ -70,8 +67,6 @@ */ public class Utils { - public static final String DEFAULT_COMMAND_PREFIX = "nbls"; - public static SymbolKind structureElementKind2SymbolKind (StructureElement.Kind kind) { switch (kind) { case Array : return SymbolKind.Array; @@ -449,38 +444,4 @@ public static String html2plain(String s) { return sb.toString(); } - public static String encodeCommand(String cmd, NbCodeClientCapabilities capa) { - String prefix = capa != null ? capa.getCommandPrefix() - : DEFAULT_COMMAND_PREFIX; - - if (cmd.startsWith(DEFAULT_COMMAND_PREFIX) && - !DEFAULT_COMMAND_PREFIX.equals(prefix)) { - return prefix + cmd.substring(DEFAULT_COMMAND_PREFIX.length()); - } else { - return cmd; - } - } - - public static String decodeCommand(String cmd, NbCodeClientCapabilities capa) { - String prefix = capa != null ? capa.getCommandPrefix() - : DEFAULT_COMMAND_PREFIX; - - if (cmd.startsWith(prefix) && - !DEFAULT_COMMAND_PREFIX.equals(prefix)) { - return DEFAULT_COMMAND_PREFIX + cmd.substring(prefix.length()); - } else { - return cmd; - } - } - - public static void ensureCommandsPrefixed(Collection commands) { - Set wrongCommands = commands.stream() - .filter(cmd -> !cmd.startsWith(DEFAULT_COMMAND_PREFIX)) - .filter(cmd -> !cmd.startsWith("test.")) - .collect(Collectors.toSet()); - - if (!wrongCommands.isEmpty()) { - throw new IllegalStateException("Some commands are not properly prefixed: " + wrongCommands); - } - } } diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java index c23e4841e0b7..4a2d69e2af1e 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBAddConnection.java @@ -75,7 +75,7 @@ }) @ServiceProvider(service = CodeActionsProvider.class) public class DBAddConnection extends CodeActionsProvider { - public static final String DB_ADD_CONNECTION = "nbls.db.add.connection"; // NOI18N + public static final String DB_ADD_CONNECTION = "db.add.connection"; // NOI18N public static final String USER_ID = "userId"; // NOI18N public static final String PASSWORD = "password"; // NOI18N public static final String DRIVER = "driver"; // NOI18N diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java index 78220d8bba6b..9a75a8214396 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBCommandProvider.java @@ -44,7 +44,7 @@ */ @ServiceProvider(service = CodeActionsProvider.class) public class DBCommandProvider extends CodeActionsProvider { - private static final String COMMAND_GET_PREFERRED_CONNECTION = "nbls.db.preferred.connection"; + private static final String COMMAND_GET_PREFERRED_CONNECTION = "java.db.preferred.connection"; private static final Set COMMANDS = new HashSet<>(Arrays.asList( COMMAND_GET_PREFERRED_CONNECTION diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java index 2f4947b7521b..4f8d6e338efa 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/db/DBConnectionProvider.java @@ -41,7 +41,7 @@ */ @ServiceProvider(service = CodeActionsProvider.class) public class DBConnectionProvider extends CodeActionsProvider{ - private static final String GET_DB_CONNECTION = "nbls.db.connection"; //NOI18N + private static final String GET_DB_CONNECTION = "java.db.connection"; //NOI18N private static final Set COMMANDS = new HashSet<>(Arrays.asList( GET_DB_CONNECTION diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java index f995f7506bc0..799fc21f98d9 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/htmlui/WebView.java @@ -369,7 +369,7 @@ private static Level findLevel(int priority) { public static final class Server extends CodeActionsProvider { private static final Map SESSIONS = new HashMap<>(); - private static final String PROCESS_COMMAND = "nbls.htmlui.process.command"; // NOI18N + private static final String PROCESS_COMMAND = "nb.htmlui.process.command"; // NOI18N private static final String ID = "id"; // NOI18N private final Gson gson = new Gson(); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java index e8de93038683..44a87db68e84 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ImplementAllAbstractMethodsAction.java @@ -47,7 +47,7 @@ @ServiceProvider(service = CodeActionsProvider.class, position = 200) public final class ImplementAllAbstractMethodsAction extends CodeActionsProvider { - private static final String IMPLEMENT_ALL_ABSTRACT_METHODS = "nbls.java.implement.all.abstract.methods"; //NOI18N + private static final String IMPLEMENT_ALL_ABSTRACT_METHODS = "java.implement.all.abstract.methods"; //NOI18N private final Gson gson = new Gson(); @Override diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java index 32937d2818f2..1e869eec3847 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientCapabilities.java @@ -22,7 +22,6 @@ import com.google.gson.JsonElement; import org.eclipse.lsp4j.ClientCapabilities; import org.eclipse.lsp4j.InitializeParams; -import org.netbeans.modules.java.lsp.server.Utils; /** * Encapsulates all nbcode-specific client capabilities. Need to be passed in @@ -76,16 +75,6 @@ public final class NbCodeClientCapabilities { */ private Boolean wantsGroovySupport = Boolean.TRUE; - /** - * Common prefix for all commands. - */ - private String commandPrefix = Utils.DEFAULT_COMMAND_PREFIX; - - /** - * Common prefix for all configuration. - */ - private String configurationPrefix = "netbeans."; - public ClientCapabilities getClientCapabilities() { return clientCaps; } @@ -150,22 +139,6 @@ public boolean wantsGroovySupport() { return wantsGroovySupport.booleanValue(); } - public String getCommandPrefix() { - return commandPrefix; - } - - public void setCommandPrefix(String commandPrefix) { - this.commandPrefix = commandPrefix; - } - - public String getConfigurationPrefix() { - return configurationPrefix; - } - - public void setConfigurationPrefix(String configurationPrefix) { - this.configurationPrefix = configurationPrefix; - } - private NbCodeClientCapabilities withCapabilities(ClientCapabilities caps) { if (caps == null) { caps = new ClientCapabilities(); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java index cb18d154c875..69f7870af823 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/QuickOpen.java @@ -61,7 +61,7 @@ @ServiceProvider(service = CodeActionsProvider.class) public class QuickOpen extends CodeActionsProvider { - public static final String QUICK_OPEN = "nbls.quick.open"; // NOI18N + public static final String QUICK_OPEN = "java.quick.open"; // NOI18N public static final String DEFAULT_PKG = ""; // NOI18N private final Gson gson = new Gson(); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java index 4aed330e6b72..3cb748b10c5c 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java @@ -48,7 +48,6 @@ import java.util.prefs.Preferences; import java.util.LinkedHashSet; import java.util.concurrent.CompletionException; -import java.util.stream.Collectors; import org.eclipse.lsp4j.CallHierarchyRegistrationOptions; import org.eclipse.lsp4j.CodeActionKind; import org.eclipse.lsp4j.CodeActionOptions; @@ -349,8 +348,8 @@ public Project next() { public static class LanguageServerImpl implements LanguageServer, LanguageClientAware, LspServerState, NbLanguageServer { - private static final String NETBEANS_FORMAT = "format"; - private static final String NETBEANS_JAVA_IMPORTS = "java.imports"; + private static final String NETBEANS_FORMAT = "netbeans.format"; + private static final String NETBEANS_JAVA_IMPORTS = "netbeans.java.imports"; // change to a greater throughput if the initialization waits on more processes than just (serialized) project open. private static final RequestProcessor SERVER_INIT_RP = new RequestProcessor(LanguageServerImpl.class.getName()); @@ -755,7 +754,7 @@ private void showStatusBarMessage(final MessageType type, final String msg, int } } - private InitializeResult constructInitResponse(InitializeParams init, JavaSource src, NbCodeClientCapabilities capa) { + private InitializeResult constructInitResponse(InitializeParams init, JavaSource src) { ServerCapabilities capabilities = new ServerCapabilities(); if (src != null) { TextDocumentSyncOptions textDocumentSyncOptions = new TextDocumentSyncOptions(); @@ -783,33 +782,31 @@ private InitializeResult constructInitResponse(InitializeParams init, JavaSource CallHierarchyRegistrationOptions chOpts = new CallHierarchyRegistrationOptions(); chOpts.setWorkDoneProgress(true); capabilities.setCallHierarchyProvider(chOpts); - Set commands = new LinkedHashSet<>(Arrays.asList(NBLS_GRAALVM_PAUSE_SCRIPT, + Set commands = new LinkedHashSet<>(Arrays.asList(GRAALVM_PAUSE_SCRIPT, NBLS_BUILD_WORKSPACE, NBLS_CLEAN_WORKSPACE, - NBLS_RUN_PROJECT_ACTION, + JAVA_RUN_PROJECT_ACTION, JAVA_FIND_DEBUG_ATTACH_CONFIGURATIONS, JAVA_FIND_DEBUG_PROCESS_TO_ATTACH, - NBLS_FIND_PROJECT_CONFIGURATIONS, + JAVA_FIND_PROJECT_CONFIGURATIONS, JAVA_GET_PROJECT_CLASSPATH, JAVA_GET_PROJECT_PACKAGES, JAVA_GET_PROJECT_SOURCE_ROOTS, - NBLS_LOAD_WORKSPACE_TESTS, - NBLS_RESOLVE_STACKTRACE_LOCATION, - NBLS_NEW_FROM_TEMPLATE, - NBLS_NEW_PROJECT, - NBLS_PROJECT_CONFIGURATION_COMPLETION, - NBLS_PROJECT_RESOLVE_PROJECT_PROBLEMS, + JAVA_LOAD_WORKSPACE_TESTS, + JAVA_RESOLVE_STACKTRACE_LOCATION, + JAVA_NEW_FROM_TEMPLATE, + JAVA_NEW_PROJECT, + JAVA_PROJECT_CONFIGURATION_COMPLETION, + JAVA_PROJECT_RESOLVE_PROJECT_PROBLEMS, JAVA_SUPER_IMPLEMENTATION, - NBLS_CLEAR_PROJECT_CACHES, + JAVA_CLEAR_PROJECT_CACHES, NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH, - NBLS_PROJECT_INFO, + JAVA_PROJECT_INFO, JAVA_ENABLE_PREVIEW )); for (CodeActionsProvider codeActionsProvider : Lookup.getDefault().lookupAll(CodeActionsProvider.class)) { commands.addAll(codeActionsProvider.getCommands()); } - Utils.ensureCommandsPrefixed(commands); - commands = commands.stream().map(cmd -> Utils.encodeCommand(cmd, capa)).collect(Collectors.toSet()); capabilities.setExecuteCommandProvider(new ExecuteCommandOptions(new ArrayList<>(commands))); WorkspaceSymbolOptions wsOpts = new WorkspaceSymbolOptions(); wsOpts.setResolveProvider(true); @@ -874,7 +871,7 @@ public CompletableFuture initialize(InitializeParams init) { // but complete the InitializationRequest independently of the project initialization. return CompletableFuture.completedFuture( finishInitialization( - constructInitResponse(init, checkJavaSupport(), capa) + constructInitResponse(init, checkJavaSupport()) ) ); } @@ -885,13 +882,13 @@ private void initializeOptions() { ConfigurationItem item = new ConfigurationItem(); FileObject fo = projects[0].getProjectDirectory(); item.setScopeUri(Utils.toUri(fo)); - item.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() + NETBEANS_FORMAT); + item.setSection(NETBEANS_FORMAT); client.configuration(new ConfigurationParams(Collections.singletonList(item))).thenAccept(c -> { if (c != null && !c.isEmpty() && c.get(0) instanceof JsonObject) { workspaceService.updateJavaFormatPreferences(fo, (JsonObject) c.get(0)); } }); - item.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() + NETBEANS_JAVA_IMPORTS); + item.setSection(NETBEANS_JAVA_IMPORTS); client.configuration(new ConfigurationParams(Collections.singletonList(item))).thenAccept(c -> { if (c != null && !c.isEmpty() && c.get(0) instanceof JsonObject) { workspaceService.updateJavaImportPreferences(fo, (JsonObject) c.get(0)); @@ -975,59 +972,59 @@ public void setTrace(SetTraceParams params) { public static final String NBLS_BUILD_WORKSPACE = "nbls.build.workspace"; public static final String NBLS_CLEAN_WORKSPACE = "nbls.clean.workspace"; - public static final String NBLS_NEW_FROM_TEMPLATE = "nbls.new.from.template"; - public static final String NBLS_NEW_PROJECT = "nbls.new.project"; - public static final String JAVA_GET_PROJECT_SOURCE_ROOTS = "nbls.java.get.project.source.roots"; - public static final String JAVA_GET_PROJECT_CLASSPATH = "nbls.java.get.project.classpath"; - public static final String JAVA_GET_PROJECT_PACKAGES = "nbls.java.get.project.packages"; - public static final String NBLS_LOAD_WORKSPACE_TESTS = "nbls.load.workspace.tests"; - public static final String NBLS_RESOLVE_STACKTRACE_LOCATION = "nbls.resolve.stacktrace.location"; - public static final String JAVA_SUPER_IMPLEMENTATION = "nbls.java.super.implementation"; - public static final String NBLS_GRAALVM_PAUSE_SCRIPT = "nbls.graalvm.pause.script"; - public static final String NBLS_RUN_PROJECT_ACTION = "nbls.project.run.action"; + public static final String JAVA_NEW_FROM_TEMPLATE = "java.new.from.template"; + public static final String JAVA_NEW_PROJECT = "java.new.project"; + public static final String JAVA_GET_PROJECT_SOURCE_ROOTS = "java.get.project.source.roots"; + public static final String JAVA_GET_PROJECT_CLASSPATH = "java.get.project.classpath"; + public static final String JAVA_GET_PROJECT_PACKAGES = "java.get.project.packages"; + public static final String JAVA_LOAD_WORKSPACE_TESTS = "java.load.workspace.tests"; + public static final String JAVA_RESOLVE_STACKTRACE_LOCATION = "java.resolve.stacktrace.location"; + public static final String JAVA_SUPER_IMPLEMENTATION = "java.super.implementation"; + public static final String GRAALVM_PAUSE_SCRIPT = "graalvm.pause.script"; + public static final String JAVA_RUN_PROJECT_ACTION = "java.project.run.action"; /** * Enumerates project configurations. */ - public static final String NBLS_FIND_PROJECT_CONFIGURATIONS = "nbls.project.configurations"; + public static final String JAVA_FIND_PROJECT_CONFIGURATIONS = "java.project.configurations"; /** * Enumerates attach debugger configurations. */ - public static final String JAVA_FIND_DEBUG_ATTACH_CONFIGURATIONS = "nbls.java.attachDebugger.configurations"; + public static final String JAVA_FIND_DEBUG_ATTACH_CONFIGURATIONS = "java.attachDebugger.configurations"; /** * Enumerates JVM processes eligible for debugger attach. */ - public static final String JAVA_FIND_DEBUG_PROCESS_TO_ATTACH = "nbls.java.attachDebugger.pickProcess"; + public static final String JAVA_FIND_DEBUG_PROCESS_TO_ATTACH = "java.attachDebugger.pickProcess"; /** * Enumerates native processes eligible for debugger attach. */ - public static final String NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH = "nbls.nativeImage.attachDebugger.pickProcess"; + public static final String NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH = "nativeImage.attachDebugger.pickProcess"; /** * Provides code-completion of configurations. */ - public static final String NBLS_PROJECT_CONFIGURATION_COMPLETION = "nbls.project.configuration.completion"; + public static final String JAVA_PROJECT_CONFIGURATION_COMPLETION = "java.project.configuration.completion"; /** * Provides resolution of project problems. */ - public static final String NBLS_PROJECT_RESOLVE_PROJECT_PROBLEMS = "nbls.project.resolveProjectProblems"; + public static final String JAVA_PROJECT_RESOLVE_PROJECT_PROBLEMS = "java.project.resolveProjectProblems"; /** * Diagnostic / test command: clears NBLS internal project caches. Useful between testcases and after * new project files were generated into workspace subtree. */ - public static final String NBLS_CLEAR_PROJECT_CACHES = "nbls.clear.project.caches"; + public static final String JAVA_CLEAR_PROJECT_CACHES = "java.clear.project.caches"; /** * For a project directory, returns basic project information and structure. * Syntax: nbls.project.info(locations : String | String[], options? : { projectStructure? : boolean; actions? : boolean; recursive? : boolean }) : LspProjectInfo */ - public static final String NBLS_PROJECT_INFO = "nbls.project.info"; + public static final String JAVA_PROJECT_INFO = "nbls.project.info"; /** * Provides enable preview for given project */ - public static final String JAVA_ENABLE_PREVIEW = "nbls.java.project.enable.preview"; + public static final String JAVA_ENABLE_PREVIEW = "java.project.enable.preview"; static final String INDEXING_COMPLETED = "Indexing completed."; static final String NO_JAVA_SUPPORT = "Cannot initialize Java support on JDK "; diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java index 3356483cc887..c7bff0f383c7 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/SurroundWithHint.java @@ -80,7 +80,7 @@ public final class SurroundWithHint extends CodeActionsProvider { private static final String COMMAND_INSERT_SNIPPET = "editor.action.insertSnippet"; - private static final String COMMAND_SURROUND_WITH = "surround.with"; + private static final String COMMAND_SURROUND_WITH = "java.surround.with"; private static final String DOTS = "..."; private static final String SNIPPET = "snippet"; private static final String SELECTION_VAR = "${selection}"; diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java index e27d4c1932eb..7a352e078790 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestClassGenerator.java @@ -75,7 +75,7 @@ @ServiceProvider(service = CodeActionsProvider.class, position = 100) public final class TestClassGenerator extends CodeActionsProvider { - private static final String GENERATE_TEST_CLASS_COMMAND = "nbls.java.generate.testClass"; + private static final String GENERATE_TEST_CLASS_COMMAND = "java.generate.testClass"; private final Set commands = Collections.singleton(GENERATE_TEST_CLASS_COMMAND); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index e2ab5c4ac347..ed00816ca479 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -274,10 +274,10 @@ public class TextDocumentServiceImpl implements TextDocumentService, LanguageClientAware { private static final Logger LOG = Logger.getLogger(TextDocumentServiceImpl.class.getName()); - private static final String COMMAND_RUN_SINGLE = "nbls.run.single"; // NOI18N - private static final String COMMAND_DEBUG_SINGLE = "nbls.debug.single"; // NOI18N - private static final String NETBEANS_JAVADOC_LOAD_TIMEOUT = "javadoc.load.timeout";// NOI18N - private static final String NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS = "java.onSave.organizeImports";// NOI18N + private static final String COMMAND_RUN_SINGLE = "java.run.single"; // NOI18N + private static final String COMMAND_DEBUG_SINGLE = "java.debug.single"; // NOI18N + private static final String NETBEANS_JAVADOC_LOAD_TIMEOUT = "netbeans.javadoc.load.timeout";// NOI18N + private static final String NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS = "netbeans.java.onSave.organizeImports";// NOI18N private static final RequestProcessor BACKGROUND_TASKS = new RequestProcessor(TextDocumentServiceImpl.class.getName(), 1, false, false); private static final RequestProcessor WORKER = new RequestProcessor(TextDocumentServiceImpl.class.getName(), 1, false, false); @@ -351,7 +351,7 @@ public CompletableFuture, CompletionList>> completio } ConfigurationItem conf = new ConfigurationItem(); conf.setScopeUri(uri); - conf.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() + NETBEANS_JAVADOC_LOAD_TIMEOUT); + conf.setSection(NETBEANS_JAVADOC_LOAD_TIMEOUT); return client.configuration(new ConfigurationParams(Collections.singletonList(conf))).thenApply(c -> { if (c != null && !c.isEmpty()) { javadocTimeout.set(((JsonPrimitive)c.get(0)).getAsInt()); @@ -401,7 +401,7 @@ public CompletableFuture, CompletionList>> completio } org.netbeans.api.lsp.Command command = completion.getCommand(); if (command != null) { - item.setCommand(new Command(command.getTitle(), Utils.encodeCommand(command.getCommand(), client.getNbCodeCapabilities()), command.getArguments())); + item.setCommand(new Command(command.getTitle(), command.getCommand(), command.getArguments())); } if (completion.getAdditionalTextEdits() != null && completion.getAdditionalTextEdits().isDone()) { List additionalTextEdits = completion.getAdditionalTextEdits().getNow(null); @@ -964,7 +964,7 @@ public CompletableFuture>> codeAction(CodeActio commandParams.addAll(inputAction.getCommand().getArguments()); } - action.setCommand(new Command(inputAction.getCommand().getTitle(), Utils.encodeCommand(inputAction.getCommand().getCommand(), client.getNbCodeCapabilities()), commandParams)); + action.setCommand(new Command(inputAction.getCommand().getTitle(), inputAction.getCommand().getCommand(), commandParams)); } if (inputAction.getEdit() != null) { org.netbeans.api.lsp.WorkspaceEdit edit = inputAction.getEdit(); @@ -1053,7 +1053,7 @@ public void run(ResultIterator resultIterator) throws Exception { codeAction.setEdit(new WorkspaceEdit(documentChanges)); int renameOffset = ((IntroduceFixBase) fix).getNameOffset(changes); if (renameOffset >= 0) { - codeAction.setCommand(new Command("Rename", client.getNbCodeCapabilities().getCommandPrefix() + ".rename.element.at", Collections.singletonList(renameOffset))); + codeAction.setCommand(new Command("Rename", "java.rename.element.at", Collections.singletonList(renameOffset))); } result.add(Either.forRight(codeAction)); } @@ -1130,7 +1130,7 @@ private List convertCodeLens(Document doc, List> willSaveWaitUntil(WillSaveTextDocumentP } ConfigurationItem conf = new ConfigurationItem(); conf.setScopeUri(uri); - conf.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() + NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS); + conf.setSection(NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS); return client.configuration(new ConfigurationParams(Collections.singletonList(conf))).thenApply(c -> { if (c != null && !c.isEmpty() && ((JsonPrimitive) c.get(0)).getAsBoolean()) { try { diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java index bccf4706da49..def77b1d8281 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java @@ -167,15 +167,15 @@ public final class WorkspaceServiceImpl implements WorkspaceService, LanguageCli @Override public CompletableFuture executeCommand(ExecuteCommandParams params) { - String command = Utils.decodeCommand(params.getCommand(), client.getNbCodeCapabilities()); + String command = params.getCommand(); switch (command) { - case Server.NBLS_GRAALVM_PAUSE_SCRIPT: + case Server.GRAALVM_PAUSE_SCRIPT: ActionsManager am = DebuggerManager.getDebuggerManager().getCurrentEngine().getActionsManager(); am.doAction("pauseInGraalScript"); return CompletableFuture.completedFuture(true); - case Server.NBLS_NEW_FROM_TEMPLATE: + case Server.JAVA_NEW_FROM_TEMPLATE: return LspTemplateUI.createFromTemplate("Templates", client, params); - case Server.NBLS_NEW_PROJECT: + case Server.JAVA_NEW_PROJECT: return LspTemplateUI.createProject("Templates/Project", client, params); case Server.NBLS_BUILD_WORKSPACE: { final CommandProgress progressOfCompilation = new CommandProgress(); @@ -189,7 +189,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { progressOfCompilation.checkStatus(); return progressOfCompilation.getFinishFuture(); } - case Server.NBLS_RUN_PROJECT_ACTION: { + case Server.JAVA_RUN_PROJECT_ACTION: { // TODO: maybe a structure would be better for future compatibility / extensions, i.e. what to place in the action's context Lookup. List targets = new ArrayList<>(); ProjectActionParams actionParams = gson.fromJson(gson.toJson(params.getArguments().get(0)), ProjectActionParams.class); @@ -318,7 +318,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { return future; }); } - case Server.NBLS_LOAD_WORKSPACE_TESTS: { + case Server.JAVA_LOAD_WORKSPACE_TESTS: { String uri = ((JsonPrimitive) params.getArguments().get(0)).getAsString(); FileObject file; try { @@ -401,7 +401,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { return future; }); } - case Server.NBLS_RESOLVE_STACKTRACE_LOCATION: { + case Server.JAVA_RESOLVE_STACKTRACE_LOCATION: { CompletableFuture future = new CompletableFuture<>(); try { if (params.getArguments().size() >= 3) { @@ -448,7 +448,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { String uri = ((JsonPrimitive) params.getArguments().get(0)).getAsString(); Position pos = gson.fromJson(gson.toJson(params.getArguments().get(1)), Position.class); return (CompletableFuture)((TextDocumentServiceImpl)server.getTextDocumentService()).superImplementations(uri, pos); - case Server.NBLS_FIND_PROJECT_CONFIGURATIONS: { + case Server.JAVA_FIND_PROJECT_CONFIGURATIONS: { String fileUri = ((JsonPrimitive) params.getArguments().get(0)).getAsString(); FileObject file; @@ -470,7 +470,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { case Server.NATIVE_IMAGE_FIND_DEBUG_PROCESS_TO_ATTACH: { return AttachNativeConfigurations.findProcessAttachTo(client); } - case Server.NBLS_PROJECT_CONFIGURATION_COMPLETION: { + case Server.JAVA_PROJECT_CONFIGURATION_COMPLETION: { // We expect one, two or three arguments. // The first argument is always the URI of the launch.json file. // When not more arguments are provided, all available configurations ought to be provided. @@ -515,7 +515,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { .thenApply(avoid -> completionFutures.stream().flatMap(c -> c.join().stream()).collect(Collectors.toList())); return (CompletableFuture) (CompletableFuture) joinedFuture; } - case Server.NBLS_PROJECT_RESOLVE_PROJECT_PROBLEMS: { + case Server.JAVA_PROJECT_RESOLVE_PROJECT_PROBLEMS: { final CompletableFuture result = new CompletableFuture<>(); List arguments = params.getArguments(); if (!arguments.isEmpty()) { @@ -571,7 +571,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { } return result; } - case Server.NBLS_CLEAR_PROJECT_CACHES: { + case Server.JAVA_CLEAR_PROJECT_CACHES: { // politely clear project manager's cache of "no project" answers ProjectManager.getDefault().clearNonProjectCache(); // impolitely clean the project-based traversal's cache, so any affiliation of intermediate folders will disappear @@ -595,7 +595,7 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { return (CompletableFuture) (CompletableFuture)result; } - case Server.NBLS_PROJECT_INFO: { + case Server.JAVA_PROJECT_INFO: { final CompletableFuture result = new CompletableFuture<>(); List arguments = params.getArguments(); if (arguments.size() < 1) { diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java index 62e677595fc3..9d4dc2eb66ae 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ChangeMethodParametersRefactoring.java @@ -78,7 +78,7 @@ public final class ChangeMethodParametersRefactoring extends CodeRefactoring { private static final String CHANGE_METHOD_PARAMS_REFACTORING_KIND = "refactor.change.method.params"; - private static final String CHANGE_METHOD_PARAMS_REFACTORING_COMMAND = "nbls.java.refactor.change.method.params"; + private static final String CHANGE_METHOD_PARAMS_REFACTORING_COMMAND = "java.refactor.change.method.params"; private final Set commands = Collections.singleton(CHANGE_METHOD_PARAMS_REFACTORING_COMMAND); private final Gson gson = new Gson(); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java index c4771ceff69f..4303235dbdaa 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/ExtractSuperclassOrInterfaceRefactoring.java @@ -79,8 +79,8 @@ @ServiceProvider(service = CodeActionsProvider.class, position = 170) public final class ExtractSuperclassOrInterfaceRefactoring extends CodeRefactoring { - private static final String EXTRACT_SUPERCLASS_REFACTORING_COMMAND = "nbls.java.refactor.extract.superclass"; - private static final String EXTRACT_INTERFACE_REFACTORING_COMMAND = "nbls.java.refactor.extract.interface"; + private static final String EXTRACT_SUPERCLASS_REFACTORING_COMMAND = "java.refactor.extract.superclass"; + private static final String EXTRACT_INTERFACE_REFACTORING_COMMAND = "java.refactor.extract.interface"; private static final ClassPath EMPTY_PATH = ClassPathSupport.createClassPath(new URL[0]); private final Set commands = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(EXTRACT_INTERFACE_REFACTORING_COMMAND, EXTRACT_SUPERCLASS_REFACTORING_COMMAND))); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java index 90a3d2c79f06..2859acbd2496 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/MoveRefactoring.java @@ -99,7 +99,7 @@ public final class MoveRefactoring extends CodeRefactoring { private static final String MOVE_REFACTORING_KIND = "refactor.move"; - private static final String MOVE_REFACTORING_COMMAND = "nbls.java.refactor.move"; + private static final String MOVE_REFACTORING_COMMAND = "java.refactor.move"; private static final ClassPath EMPTY_PATH = ClassPathSupport.createClassPath(new URL[0]); private final Set commands = Collections.singleton(MOVE_REFACTORING_COMMAND); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java index 6706abafdc00..a53afcf719b2 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PullUpRefactoring.java @@ -76,7 +76,7 @@ public final class PullUpRefactoring extends CodeRefactoring { private static final String PULL_UP_REFACTORING_KIND = "refactor.pull.up"; - private static final String PULL_UP_REFACTORING_COMMAND = "nbls.java.refactor.pull.up"; + private static final String PULL_UP_REFACTORING_COMMAND = "java.refactor.pull.up"; private final Set commands = Collections.singleton(PULL_UP_REFACTORING_COMMAND); private final Gson gson = new Gson(); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java index 6c052c536b44..6acfa1537efc 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/refactoring/PushDownRefactoring.java @@ -72,7 +72,7 @@ public final class PushDownRefactoring extends CodeRefactoring { private static final String PUSH_DOWN_REFACTORING_KIND = "refactor.push.down"; - private static final String PUSH_DOWN_REFACTORING_COMMAND = "nbls.java.refactor.push.down"; + private static final String PUSH_DOWN_REFACTORING_COMMAND = "java.refactor.push.down"; private final Set commands = Collections.singleton(PUSH_DOWN_REFACTORING_COMMAND); private final Gson gson = new Gson(); diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java index 0d5b43c5a177..ca25bce6c7de 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java @@ -2527,7 +2527,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi fileChanges.get(3).getNewText()); Command command = introduceVariable.get().getCommand(); assertNotNull(command); - assertEquals("nbls.rename.element.at", command.getCommand()); + assertEquals("java.rename.element.at", command.getCommand()); List arguments = command.getArguments(); assertNotNull(arguments); assertEquals(1, arguments.size()); @@ -2631,7 +2631,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi fileChanges.get(2).getNewText()); Command command = introduceConstant.get().getCommand(); assertNotNull(command); - assertEquals("nbls.rename.element.at", command.getCommand()); + assertEquals("java.rename.element.at", command.getCommand()); List arguments = command.getArguments(); assertNotNull(arguments); assertEquals(1, arguments.size()); @@ -2735,7 +2735,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi fileChanges.get(2).getNewText()); Command command = introduceField.get().getCommand(); assertNotNull(command); - assertEquals("nbls.rename.element.at", command.getCommand()); + assertEquals("java.rename.element.at", command.getCommand()); List arguments = command.getArguments(); assertNotNull(arguments); assertEquals(1, arguments.size()); @@ -2842,7 +2842,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi fileChanges.get(2).getNewText()); Command command = introduceMethod.get().getCommand(); assertNotNull(command); - assertEquals("nbls.rename.element.at", command.getCommand()); + assertEquals("java.rename.element.at", command.getCommand()); List arguments = command.getArguments(); assertNotNull(arguments); assertEquals(1, arguments.size()); @@ -5387,7 +5387,7 @@ boolean cancel() { @Override public CompletableFuture processCommand(NbCodeLanguageClient client, String command, List arguments) { - if (!command.equals("test._progressCommand")) { + if (!command.equals("_progressCommand")) { return null; } @@ -5422,7 +5422,7 @@ public CompletableFuture processCommand(NbCodeLanguageClient client, Str @Override public Set getCommands() { - return Collections.singleton("test._progressCommand"); + return Collections.singleton("_progressCommand"); } @@ -5492,7 +5492,7 @@ public void showMessage(MessageParams params) { // now invoke the build ExecuteCommandParams ecp = new ExecuteCommandParams(); - ecp.setCommand("test._progressCommand"); + ecp.setCommand("_progressCommand"); CompletableFuture buildF = server.getWorkspaceService().executeCommand(ecp); // the progress must be received at the client w/ the token, we need the token to issue cancel diff --git a/java/java.lsp.server/vscode/package.json b/java/java.lsp.server/vscode/package.json index 0ad9560aae41..14d50031da52 100644 --- a/java/java.lsp.server/vscode/package.json +++ b/java/java.lsp.server/vscode/package.json @@ -87,7 +87,7 @@ "viewsWelcome": [ { "view": "database.connections", - "contents": "No database connections found.\n[Add Database Connection](command:nbls.db.add.connection)\n[Add Oracle Autonomous DB](command:nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddADBAction)", + "contents": "No database connections found.\n[Add Database Connection](command:db.add.connection)\n[Add Oracle Autonomous DB](command:nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddADBAction)", "when": "nb.database.view.active" } ], @@ -323,7 +323,7 @@ }, "processId": { "type": "string", - "default": "${command:nbls.java.attachDebugger.pickProcess}", + "default": "${command:java.attachDebugger.pickProcess}", "description": "Process Id of the debuggee" }, "listen": { @@ -400,7 +400,7 @@ }, "processId": { "type": "string", - "default": "${command:nbls.nativeImage.attachDebugger.pickProcess}", + "default": "${command:nativeImage.attachDebugger.pickProcess}", "description": "Process Id of the native image" }, "miDebugger": { @@ -437,7 +437,7 @@ "type": "nativeimage", "request": "attach", "name": "Attach to Native Image", - "processId": "^\"\\${command:nbls.nativeImage.attachDebugger.pickProcess\\}\"", + "processId": "^\"\\${command:nativeImage.attachDebugger.pickProcess\\}\"", "nativeImagePath": "" } } @@ -456,38 +456,38 @@ "category": "Java" }, { - "command": "nbls.workspace.new", + "command": "java.workspace.new", "title": "New from Template...", "category": "Java", "icon": "$(new-file)" }, { - "command": "nbls.workspace.newproject", + "command": "java.workspace.newproject", "title": "New Project...", "category": "Java", "icon": "$(new-folder)" }, { - "command": "nbls.java.goto.super.implementation", + "command": "java.goto.super.implementation", "title": "Go to Super Implementation", "category": "Java" }, { - "command": "nbls.open.type", + "command": "java.open.type", "title": "Open Type...", "category": "Java" }, { - "command": "nbls.graalvm.pause.script", + "command": "graalvm.pause.script", "title": "Pause in Script", "category": "GraalVM" }, { - "command": "nbls.foundProjects.deleteEntry", + "command": "foundProjects.deleteEntry", "title": "Delete" }, { - "command": "nbls.db.add.connection", + "command": "db.add.connection", "title": "Add Database Connection", "category": "Database", "icon": "$(add)" @@ -529,42 +529,57 @@ "title": "Delete" }, { - "command": "nbls.project.run", + "command": "workbench.action.debug.run", + "title": "Run Without Debugging", + "icon": "$(run)" + }, + { + "command": "workbench.action.debug.start", + "title": "Start Debugging", + "icon": "$(debug-alt)" + }, + { + "command": "java.project.run", "category": "Project", "title": "Run Project Without Debugging", "icon": "$(run)" }, { - "command": "nbls.project.debug", + "command": "java.project.debug", "category": "Project", "title": "Debug Project", "icon": "$(debug-alt)" }, { - "command": "nbls.project.test", + "command": "java.project.test", "category": "Project", "title": "Test Project", "icon": "$(testing-run-all-icon)" }, { - "command": "nbls.project.compile", + "command": "java.project.compile", "category": "Project", "title": "Compile Project" }, { - "command": "nbls.project.clean", + "command": "java.project.clean", "category": "Project", "title": "Clean Project" }, { - "command": "nbls.local.db.set.preferred.connection", + "command": "java.local.db.set.preferred.connection", "title": "Set as Default Connection" }, { - "command": "nbls.workspace.configureRunSettings", + "command": "java.workspace.configureRunSettings", "title": "Edit", "icon": "$(edit)" }, + { + "command": "testing.runAll", + "title": "Run All Tests", + "category": "Test" + }, { "command": "nbls:Tools:org.netbeans.modules.cloud.oracle.actions.DownloadWalletAction", "title": "Add DB Connection" @@ -582,24 +597,9 @@ "title": "Open Service Console" }, { - "command": "nbls.select.editor.projects", + "command": "java.select.editor.projects", "title": "Reveal active editor in Projects", "category": "Project" - }, - { - "command": "workbench.action.debug.run", - "title": "Run Without Debugging", - "icon": "$(run)" - }, - { - "command": "workbench.action.debug.start", - "title": "Start Debugging", - "icon": "$(debug-alt)" - }, - { - "command": "testing.runAll", - "title": "Run All Tests", - "category": "Test" } ], "keybindings": [ @@ -609,7 +609,7 @@ "when": "nbJavaLSReady && config.netbeans.javaSupport.enabled" }, { - "command": "nbls.java.goto.super.implementation", + "command": "java.goto.super.implementation", "key": "alt+U", "mac": "alt+cmd+U", "when": "editorHasCodeActionsProvider && editorTextFocus && config.netbeans.javaSupport.enabled" @@ -624,25 +624,25 @@ "menus": { "editor/context": [ { - "command": "nbls.java.goto.super.implementation", + "command": "java.goto.super.implementation", "when": "nbJavaLSReady && editorLangId == java && editorTextFocus && config.netbeans.javaSupport.enabled", "group": "navigation@100" } ], "explorer/context": [ { - "command": "nbls.workspace.new", + "command": "java.workspace.new", "when": "nbJavaLSReady && explorerResourceIsFolder", "group": "navigation@3" } ], "commandPalette": [ { - "command": "nbls.workspace.new", + "command": "java.workspace.new", "when": "nbJavaLSReady" }, { - "command": "nbls.workspace.newproject", + "command": "java.workspace.newproject", "when": "config.netbeans.javaSupport.enabled" }, { @@ -650,15 +650,15 @@ "when": "nbJavaLSReady && config.netbeans.javaSupport.enabled" }, { - "command": "nbls.java.goto.super.implementation", + "command": "java.goto.super.implementation", "when": "nbJavaLSReady && editorLangId == java && config.netbeans.javaSupport.enabled" }, { - "command": "nbls.graalvm.pause.script", + "command": "graalvm.pause.script", "when": "nbJavaLSReady" }, { - "command": "nbls.foundProjects.deleteEntry", + "command": "foundProjects.deleteEntry", "when": "false" }, { @@ -694,7 +694,7 @@ "when": "false" }, { - "command": "nbls.local.db.set.preferred.connection", + "command": "java.local.db.set.preferred.connection", "when": "false" }, { @@ -710,13 +710,13 @@ "when": "false" }, { - "command": "nbls.workspace.configureRunSettings", + "command": "java.workspace.configureRunSettings", "when": "false" } ], "view/title": [ { - "command": "nbls.workspace.newproject", + "command": "java.workspace.newproject", "when": "nbJavaLSReady && view == foundProjects && config.netbeans.javaSupport.enabled", "group": "navigation" }, @@ -741,14 +741,14 @@ "when": "nbJavaLSReady && view == foundProjects && config.netbeans.javaSupport.enabled" }, { - "command": "nbls.db.add.connection", + "command": "db.add.connection", "when": "view == database.connections", "group": "navigation@3" } ], "view/item/context": [ { - "command": "nbls.foundProjects.deleteEntry", + "command": "foundProjects.deleteEntry", "when": "view == foundProjects && viewItem == node && config.netbeans.javaSupport.enabled" }, { @@ -772,37 +772,37 @@ "group": "db@50" }, { - "command": "nbls.workspace.new", + "command": "java.workspace.new", "when": "view == foundProjects && viewItem =~ /is:folder/", "group": "inline@1" }, { - "command": "nbls.project.run", + "command": "java.project.run", "when": "view == foundProjects && viewItem =~ /is:project/ && viewItem =~ /^(?!.*is:projectRoot)/ && config.netbeans.javaSupport.enabled", "group": "inline@10" }, { - "command": "nbls.project.debug", + "command": "java.project.debug", "when": "view == foundProjects && viewItem =~ /is:project/ && viewItem =~ /^(?!.*is:projectRoot)/ && config.netbeans.javaSupport.enabled", "group": "inline@11" }, { - "command": "nbls.project.test", + "command": "java.project.test", "when": "view == foundProjects && viewItem =~ /is:project/ && viewItem =~ /^(?!.*is:projectRoot)/ && config.netbeans.javaSupport.enabled", "group": "F@30" }, { - "command": "nbls.project.compile", + "command": "java.project.compile", "when": "view == foundProjects && viewItem =~ /is:project/ && config.netbeans.javaSupport.enabled", "group": "F@10" }, { - "command": "nbls.project.clean", + "command": "java.project.clean", "when": "view == foundProjects && viewItem =~ /is:project/ && config.netbeans.javaSupport.enabled", "group": "F@20" }, { - "command": "nbls.local.db.set.preferred.connection", + "command": "java.local.db.set.preferred.connection", "when": "viewItem =~ /class:org.netbeans.api.db.explorer.DatabaseConnection/", "group": "db@40" }, @@ -839,7 +839,7 @@ "group": "inline@13" }, { - "command": "nbls.workspace.configureRunSettings", + "command": "java.workspace.configureRunSettings", "when": "view == run-config && viewItem == configureRunSettings", "group": "inline@1" } diff --git a/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts b/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts index 1d5136a1a879..79b094fe6974 100644 --- a/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts +++ b/java/java.lsp.server/vscode/src/dbConfigurationProvider.ts @@ -44,7 +44,7 @@ export class DBConfigurationProvider implements vscode.DebugConfigurationProvide resolveDebugConfigurationWithSubstitutedVariables?(_folder: vscode.WorkspaceFolder | undefined, config: vscode.DebugConfiguration, _token?: vscode.CancellationToken): vscode.ProviderResult { return new Promise(async resolve => { - let o: Object = await vscode.commands.executeCommand('nbls.db.connection'); + let o: Object = await vscode.commands.executeCommand('java.db.connection'); if (config === undefined) { config = {} as vscode.DebugConfiguration; } @@ -58,4 +58,4 @@ export class DBConfigurationProvider implements vscode.DebugConfigurationProvide resolve(config); }); } -} +} \ No newline at end of file diff --git a/java/java.lsp.server/vscode/src/extension.ts b/java/java.lsp.server/vscode/src/extension.ts index 841b3e100f62..ac65bff14f06 100644 --- a/java/java.lsp.server/vscode/src/extension.ts +++ b/java/java.lsp.server/vscode/src/extension.ts @@ -59,7 +59,6 @@ import { InputStep, MultiStepInput } from './utils'; import { env } from 'process'; const API_VERSION : string = "1.0"; -export const COMMAND_PREFIX : string = "nbls"; const DATABASE: string = 'Database'; let client: Promise; let testAdapter: NbTestAdapter | undefined; @@ -259,7 +258,7 @@ function wrapProjectActionWithProgress(action : string, configuration : string | items.push(item); } } - return wrapCommandWithProgress(COMMAND_PREFIX + '.project.run.action', title, log, showOutput, actionParams, ...items); + return wrapCommandWithProgress('java.project.run.action', title, log, showOutput, actionParams, ...items); } function wrapCommandWithProgress(lsCommand : string, title : string, log? : vscode.OutputChannel, showOutput? : boolean, ...args : any[]) : Thenable { @@ -418,7 +417,7 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { context.subscriptions.push(vscode.debug.registerDebugConfigurationProvider('java+', runConfigurationProvider)); context.subscriptions.push(vscode.debug.registerDebugConfigurationProvider('java', runConfigurationProvider)); context.subscriptions.push(vscode.window.registerTreeDataProvider('run-config', runConfigurationNodeProvider)); - context.subscriptions.push(vscode.commands.registerCommand(COMMAND_PREFIX + '.workspace.configureRunSettings', (...params: any[]) => { + context.subscriptions.push(vscode.commands.registerCommand('java.workspace.configureRunSettings', (...params: any[]) => { configureRunSettings(context, params); })); vscode.commands.executeCommand('setContext', 'runConfigurationInitialized', true); @@ -426,12 +425,12 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { }); // register commands - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.workspace.new', async (ctx) => { + context.subscriptions.push(commands.registerCommand('java.workspace.new', async (ctx) => { let c : LanguageClient = await client; const commands = await vscode.commands.getCommands(); - if (commands.includes(COMMAND_PREFIX + '.new.from.template')) { + if (commands.includes('java.new.from.template')) { // first give the context, then the open-file hint in the case the context is not specific enough - const res = await vscode.commands.executeCommand(COMMAND_PREFIX + '.new.from.template', contextUri(ctx)?.toString(), vscode.window.activeTextEditor?.document?.uri?.toString()); + const res = await vscode.commands.executeCommand('java.new.from.template', contextUri(ctx)?.toString(), vscode.window.activeTextEditor?.document?.uri?.toString()); if (typeof res === 'string') { let newFile = vscode.Uri.parse(res as string); @@ -448,11 +447,11 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { throw `Client ${c} doesn't support new from template`; } })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.workspace.newproject', async (ctx) => { + context.subscriptions.push(commands.registerCommand('java.workspace.newproject', async (ctx) => { let c : LanguageClient = await client; const commands = await vscode.commands.getCommands(); - if (commands.includes(COMMAND_PREFIX + '.new.project')) { - const res = await vscode.commands.executeCommand(COMMAND_PREFIX + '.new.project', contextUri(ctx)?.toString()); + if (commands.includes('java.new.project')) { + const res = await vscode.commands.executeCommand('java.new.project', contextUri(ctx)?.toString()); if (typeof res === 'string') { let newProject = vscode.Uri.parse(res as string); @@ -470,35 +469,35 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { throw `Client ${c} doesn't support new project`; } })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.workspace.compile', () => - wrapCommandWithProgress(COMMAND_PREFIX + '.build.workspace', 'Compiling workspace...', log, true) + context.subscriptions.push(commands.registerCommand('nbls.workspace.compile', () => + wrapCommandWithProgress('nbls.build.workspace', 'Compiling workspace...', log, true) )); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.workspace.clean', () => - wrapCommandWithProgress(COMMAND_PREFIX + '.clean.workspace', 'Cleaning workspace...', log, true) + context.subscriptions.push(commands.registerCommand('nbls.workspace.clean', () => + wrapCommandWithProgress('nbls.clean.workspace', 'Cleaning workspace...', log, true) )); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.compile', (args) => { + context.subscriptions.push(commands.registerCommand('java.project.compile', (args) => { wrapProjectActionWithProgress('build', undefined, 'Compiling...', log, true, args); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.clean', (args) => { + context.subscriptions.push(commands.registerCommand('java.project.clean', (args) => { wrapProjectActionWithProgress('clean', undefined, 'Cleaning...', log, true, args); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.open.type', () => { - wrapCommandWithProgress(COMMAND_PREFIX + '.quick.open', 'Opening type...', log, true).then(() => { + context.subscriptions.push(commands.registerCommand('java.open.type', () => { + wrapCommandWithProgress('java.quick.open', 'Opening type...', log, true).then(() => { commands.executeCommand('workbench.action.focusActiveEditorGroup'); }); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.java.goto.super.implementation', async () => { + context.subscriptions.push(commands.registerCommand('java.goto.super.implementation', async () => { if (window.activeTextEditor?.document.languageId !== "java") { return; } const uri = window.activeTextEditor.document.uri; const position = window.activeTextEditor.selection.active; - const locations: any[] = await vscode.commands.executeCommand(COMMAND_PREFIX + '.java.super.implementation', uri.toString(), position) || []; + const locations: any[] = await vscode.commands.executeCommand('java.super.implementation', uri.toString(), position) || []; return vscode.commands.executeCommand('editor.action.goToLocations', window.activeTextEditor.document.uri, position, locations.map(location => new vscode.Location(vscode.Uri.parse(location.uri), new vscode.Range(location.range.start.line, location.range.start.character, location.range.end.line, location.range.end.character))), 'peek', 'No super implementation found'); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.rename.element.at', async (offset) => { + context.subscriptions.push(commands.registerCommand('java.rename.element.at', async (offset) => { const editor = window.activeTextEditor; if (editor) { await commands.executeCommand('editor.action.rename', [ @@ -507,7 +506,7 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { ]); } })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.surround.with', async (items) => { + context.subscriptions.push(commands.registerCommand('java.surround.with', async (items) => { const selected: any = await window.showQuickPick(items, { placeHolder: 'Surround with ...' }); if (selected) { if (selected.userData.edit && selected.userData.edit.changes) { @@ -577,32 +576,32 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { }) : ret; } }; - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.test', async (uri, methodName?, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.run.test', async (uri, methodName?, launchConfiguration?) => { await runDebug(true, true, uri, methodName, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.debug.test', async (uri, methodName?, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.debug.test', async (uri, methodName?, launchConfiguration?) => { await runDebug(false, true, uri, methodName, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.single', async (uri, methodName?, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.run.single', async (uri, methodName?, launchConfiguration?) => { await runDebug(true, false, uri, methodName, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.debug.single', async (uri, methodName?, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.debug.single', async (uri, methodName?, launchConfiguration?) => { await runDebug(false, false, uri, methodName, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.run', async (node, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.project.run', async (node, launchConfiguration?) => { return runDebug(true, false, contextUri(node)?.toString() || '', undefined, launchConfiguration, true); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.debug', async (node, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.project.debug', async (node, launchConfiguration?) => { return runDebug(false, false, contextUri(node)?.toString() || '', undefined, launchConfiguration, true); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.test', async (node, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.project.test', async (node, launchConfiguration?) => { return runDebug(true, true, contextUri(node)?.toString() || '', undefined, launchConfiguration, true); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.package.test', async (uri, launchConfiguration?) => { + context.subscriptions.push(commands.registerCommand('java.package.test', async (uri, launchConfiguration?) => { await runDebug(true, true, uri, undefined, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.open.stacktrace', async (uri, methodName, fileName, line) => { - const location: string | undefined = uri ? await commands.executeCommand(COMMAND_PREFIX + '.resolve.stacktrace.location', uri, methodName, fileName) : undefined; + context.subscriptions.push(commands.registerCommand('java.open.stacktrace', async (uri, methodName, fileName, line) => { + const location: string | undefined = uri ? await commands.executeCommand('java.resolve.stacktrace.location', uri, methodName, fileName) : undefined; if (location) { const lNum = line - 1; window.showTextDocument(vscode.Uri.parse(location), { selection: new vscode.Range(new vscode.Position(lNum, 0), new vscode.Position(lNum, 0)) }); @@ -613,14 +612,14 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { } } })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.java.complete.abstract.methods', async () => { + context.subscriptions.push(commands.registerCommand('java.complete.abstract.methods', async () => { const active = vscode.window.activeTextEditor; if (active) { const position = new vscode.Position(active.selection.start.line, active.selection.start.character); - await commands.executeCommand(COMMAND_PREFIX + '.java.implement.all.abstract.methods', active.document.uri.toString(), position); + await commands.executeCommand('java.implement.all.abstract.methods', active.document.uri.toString(), position); } })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.startup.condition', async () => { + context.subscriptions.push(commands.registerCommand('nbls.startup.condition', async () => { return client; })); @@ -1086,7 +1085,7 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex constructor(provider : CustomizableTreeDataProvider, client : NbLanguageClient) { this.provider = provider; - this.setCommand = vscode.commands.registerCommand(COMMAND_PREFIX + '.local.db.set.preferred.connection', (n) => this.setPreferred(n)); + this.setCommand = vscode.commands.registerCommand('java.local.db.set.preferred.connection', (n) => this.setPreferred(n)); } decorateChildren(element: Visualizer, children: Visualizer[]): Visualizer[] { @@ -1100,7 +1099,7 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex if (!(item.contextValue && item.contextValue.match(/class:org.netbeans.api.db.explorer.DatabaseConnection/))) { return item; } - return vscode.commands.executeCommand(COMMAND_PREFIX + '.db.preferred.connection').then((id) => { + return vscode.commands.executeCommand('java.db.preferred.connection').then((id) => { if (id == vis.id) { item.description = '(default)'; } @@ -1110,7 +1109,7 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex setPreferred(...args : any[]) { const id : number = args[0]?.id || -1; - vscode.commands.executeCommand(COMMAND_PREFIX + ':Database:netbeans.db.explorer.action.makepreferred', ...args); + vscode.commands.executeCommand('nbls:Database:netbeans.db.explorer.action.makepreferred', ...args); // refresh all this.provider.fireItemChange(); } @@ -1156,7 +1155,7 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex revealActiveEditor(ed); } })); - ctx.subscriptions.push(vscode.commands.registerCommand(COMMAND_PREFIX + ".select.editor.projects", () => revealActiveEditor())); + ctx.subscriptions.push(vscode.commands.registerCommand("java.select.editor.projects", () => revealActiveEditor())); // attempt to reveal NOW: if (netbeansConfig.get("revealActiveInProjects")) { @@ -1196,7 +1195,7 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex view.dispose(); break; case 'command': - vscode.commands.executeCommand(COMMAND_PREFIX + '.htmlui.process.command', message.data); + vscode.commands.executeCommand('nb.htmlui.process.command', message.data); break; } }); @@ -1356,7 +1355,7 @@ class NetBeansConfigurationInitialProvider implements vscode.DebugConfigurationP u = vscode.window.activeTextEditor?.document?.uri } let result : vscode.DebugConfiguration[] = []; - const configNames : string[] | null | undefined = await vscode.commands.executeCommand(COMMAND_PREFIX + '.project.configurations', u?.toString()); + const configNames : string[] | null | undefined = await vscode.commands.executeCommand('java.project.configurations', u?.toString()); if (configNames) { let first : boolean = true; for (let cn of configNames) { @@ -1401,7 +1400,7 @@ class NetBeansConfigurationDynamicProvider implements vscode.DebugConfigurationP return []; } let result : vscode.DebugConfiguration[] = []; - const attachConnectors : DebugConnector[] | null | undefined = await vscode.commands.executeCommand(COMMAND_PREFIX + '.java.attachDebugger.configurations'); + const attachConnectors : DebugConnector[] | null | undefined = await vscode.commands.executeCommand('java.attachDebugger.configurations'); if (attachConnectors) { for (let ac of attachConnectors) { const debugConfig : vscode.DebugConfiguration = { @@ -1413,7 +1412,7 @@ class NetBeansConfigurationDynamicProvider implements vscode.DebugConfigurationP let defaultValue: string = ac.defaultValues[i]; if (!defaultValue.startsWith("${command:")) { // Create a command that asks for the argument value: - let cmd: string = COMMAND_PREFIX + ".java.attachDebugger.connector." + ac.id + "." + ac.arguments[i]; + let cmd: string = "java.attachDebugger.connector." + ac.id + "." + ac.arguments[i]; debugConfig[ac.arguments[i]] = "${command:" + cmd + "}"; if (!commandValues.has(cmd)) { commandValues.set(cmd, ac.defaultValues[i]); diff --git a/java/java.lsp.server/vscode/src/launchConfigurations.ts b/java/java.lsp.server/vscode/src/launchConfigurations.ts index ef53dc4fbf89..f5f13ee9c705 100644 --- a/java/java.lsp.server/vscode/src/launchConfigurations.ts +++ b/java/java.lsp.server/vscode/src/launchConfigurations.ts @@ -22,7 +22,6 @@ import { commands, CompletionItem, CompletionList, ExtensionContext, languages, import { InsertTextFormat } from 'vscode-languageclient'; import * as jsoncp from 'jsonc-parser'; import * as fs from 'fs'; -import { COMMAND_PREFIX } from "./extension"; export function updateLaunchConfig() { workspace.findFiles('.vscode/launch.json').then(async files => { @@ -84,7 +83,7 @@ export function registerCompletion(context: ExtensionContext) { let completionItems: ProviderResult> | CompletionItem[]; if (path.length == 1) { // Get all configurations: - completionItems = commands.executeCommand(COMMAND_PREFIX + '.project.configuration.completion', uri); + completionItems = commands.executeCommand('java.project.configuration.completion', uri); } else { let node: jsoncp.Node = currentNode; if (currentNode.type == 'property' && currentNode.parent) { @@ -95,11 +94,11 @@ export function registerCompletion(context: ExtensionContext) { node = currentNode.parent; let attributesMap = getAttributes(node); // Get possible values of property 'propName': - completionItems = commands.executeCommand(COMMAND_PREFIX + '.project.configuration.completion', uri, attributesMap, propName); + completionItems = commands.executeCommand('java.project.configuration.completion', uri, attributesMap, propName); } else { let attributesMap = getAttributes(node); // Get additional possible attributes: - completionItems = commands.executeCommand(COMMAND_PREFIX + '.project.configuration.completion', uri, attributesMap); + completionItems = commands.executeCommand('java.project.configuration.completion', uri, attributesMap); } } return (completionItems as Thenable>).then(itemsList => { diff --git a/java/java.lsp.server/vscode/src/test/suite/extension.test.ts b/java/java.lsp.server/vscode/src/test/suite/extension.test.ts index d398e2d2dd41..01aec1c16e64 100644 --- a/java/java.lsp.server/vscode/src/test/suite/extension.test.ts +++ b/java/java.lsp.server/vscode/src/test/suite/extension.test.ts @@ -94,7 +94,7 @@ suite('Extension Test Suite', () => { try { console.log("Test: invoking compile"); - let res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".workspace.compile"); + let res = await vscode.commands.executeCommand("nbls.workspace.compile"); console.log(`Test: compile finished with ${res}`); } catch (error) { dumpJava(); @@ -184,7 +184,7 @@ suite('Extension Test Suite', () => { try { console.log("Test: get project java source roots"); - let res: any = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.source.roots", Uri.file(folder).toString()); + let res: any = await vscode.commands.executeCommand("java.get.project.source.roots", Uri.file(folder).toString()); console.log(`Test: get project java source roots finished with ${res}`); assert.ok(res, "No java source root returned"); assert.strictEqual(res.length, 2, `Invalid number of java roots returned`); @@ -192,21 +192,21 @@ suite('Extension Test Suite', () => { assert.strictEqual(res[1], path.join('file:', folder, 'src', 'test', 'java') + path.sep, `Invalid java test source root returned`); console.log("Test: get project resource roots"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.source.roots", Uri.file(folder).toString(), 'resources'); + res = await vscode.commands.executeCommand("java.get.project.source.roots", Uri.file(folder).toString(), 'resources'); console.log(`Test: get project resource roots finished with ${res}`); assert.ok(res, "No resource root returned"); assert.strictEqual(res.length, 1, `Invalid number of resource roots returned`); assert.strictEqual(res[0], path.join('file:', folder, 'src', 'main', 'resources') + path.sep, `Invalid resource root returned`); console.log("Test: get project compile classpath"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString()); + res = await vscode.commands.executeCommand("java.get.project.classpath", Uri.file(folder).toString()); console.log(`Test: get project compile classpath finished with ${res}`); assert.ok(res, "No compile classpath returned"); assert.strictEqual(res.length, 9, `Invalid number of compile classpath roots returned`); assert.ok(res.find((item: any) => item === path.join('file:', folder, 'target', 'classes') + path.sep, `Invalid compile classpath root returned`)); console.log("Test: get project source classpath"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString(), 'SOURCE'); + res = await vscode.commands.executeCommand("java.get.project.classpath", Uri.file(folder).toString(), 'SOURCE'); console.log(`Test: get project source classpath finished with ${res}`); assert.ok(res, "No source classpath returned"); assert.strictEqual(res.length, 3, `Invalid number of source classpath roots returned`); @@ -215,25 +215,25 @@ suite('Extension Test Suite', () => { assert.ok(res.find((item: any) => item === path.join('file:', folder, 'src', 'test', 'java') + path.sep, `Invalid source classpath root returned`)); console.log("Test: get project boot classpath"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString(), 'BOOT'); + res = await vscode.commands.executeCommand("java.get.project.classpath", Uri.file(folder).toString(), 'BOOT'); console.log(`Test: get project boot classpath finished with ${res}`); assert.ok(res, "No boot classpath returned"); assert.ok(res.length > 0, `Invalid number of boot classpath roots returned`); console.log("Test: get project boot source classpath"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString(), 'BOOT', true); + res = await vscode.commands.executeCommand("java.get.project.classpath", Uri.file(folder).toString(), 'BOOT', true); console.log(`Test: get project boot source classpath finished with ${res}`); assert.ok(res, "No boot source classpath returned"); assert.ok(res.length > 0, `Invalid number of boot source classpath roots returned`); console.log("Test: get all project packages"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.packages", Uri.file(folder).toString()); + res = await vscode.commands.executeCommand("java.get.project.packages", Uri.file(folder).toString()); console.log(`Test: get all project packages finished with ${res}`); assert.ok(res, "No packages returned"); assert.ok(res.length > 0, `Invalid number of packages returned`); console.log("Test: get project source packages"); - res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.packages", Uri.file(folder).toString(), true); + res = await vscode.commands.executeCommand("java.get.project.packages", Uri.file(folder).toString(), true); console.log(`Test: get project source packages finished with ${res}`); assert.ok(res, "No packages returned"); assert.strictEqual(res.length, 1, `Invalid number of packages returned`); @@ -253,7 +253,7 @@ suite('Extension Test Suite', () => { vscode.workspace.saveAll(); try { console.log("Test: load workspace tests"); - let tests: any = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".load.workspace.tests", Uri.file(folder).toString()); + let tests: any = await vscode.commands.executeCommand("java.load.workspace.tests", Uri.file(folder).toString()); console.log(`Test: load workspace tests finished with ${tests}`); assert.ok(tests, "No tests returned for workspace"); assert.strictEqual(tests.length, 2, `Invalid number of test suites returned`); @@ -266,7 +266,7 @@ suite('Extension Test Suite', () => { console.log("Test: run all workspace tests"); const workspaceFolder = (vscode.workspace.workspaceFolders!)[0]; - await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + '.run.test', workspaceFolder.uri.toString()); + await vscode.commands.executeCommand('java.run.test', workspaceFolder.uri.toString()); console.log(`Test: run all workspace tests finished`); } catch (error) { dumpJava(); diff --git a/java/java.lsp.server/vscode/src/test/suite/testutils.ts b/java/java.lsp.server/vscode/src/test/suite/testutils.ts index 5abc8776254b..dfc015e52984 100644 --- a/java/java.lsp.server/vscode/src/test/suite/testutils.ts +++ b/java/java.lsp.server/vscode/src/test/suite/testutils.ts @@ -125,7 +125,7 @@ export function waitCommandsReady() : Promise { function checkCommands(attempts : number, cb : () => void) { try { // this command is parameterless - vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.attachDebugger.configurations") + vscode.commands.executeCommand("java.attachDebugger.configurations") console.log("NBLS commands ready."); resolve(); } catch (e) { @@ -159,9 +159,9 @@ async function waitProjectRecognized(someJavaFile : string) { return waitCommandsReady().then(() => { const u : vscode.Uri = vscode.Uri.file(someJavaFile); // clear out possible bad or negative caches. - return vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".clear.project.caches").then( + return vscode.commands.executeCommand("java.clear.project.caches").then( // this should assure opening the root with the created project. - () => vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.packages", u.toString()) + () => vscode.commands.executeCommand("java.get.project.packages", u.toString()) ); }); } diff --git a/java/java.lsp.server/vscode/src/testAdapter.ts b/java/java.lsp.server/vscode/src/testAdapter.ts index fb5563e94021..2141996ccc41 100644 --- a/java/java.lsp.server/vscode/src/testAdapter.ts +++ b/java/java.lsp.server/vscode/src/testAdapter.ts @@ -21,7 +21,6 @@ import { commands, debug, tests, workspace, CancellationToken, TestController, TestItem, TestRunProfileKind, TestRunRequest, Uri, TestRun, TestMessage, Location, Position, MarkdownString } from "vscode"; import * as path from 'path'; import { asRange, TestCase, TestSuite } from "./protocol"; -import { COMMAND_PREFIX } from "./extension"; export class NbTestAdapter { @@ -42,7 +41,7 @@ export class NbTestAdapter { async load(): Promise { for (let workspaceFolder of workspace.workspaceFolders || []) { - const loadedTests: any = await commands.executeCommand(COMMAND_PREFIX + '.load.workspace.tests', workspaceFolder.uri.toString()); + const loadedTests: any = await commands.executeCommand('java.load.workspace.tests', workspaceFolder.uri.toString()); if (loadedTests) { loadedTests.forEach((suite: TestSuite) => { this.updateTests(suite); @@ -65,7 +64,7 @@ export class NbTestAdapter { this.set(item, 'enqueued'); const idx = item.id.indexOf(':'); if (!cancellation.isCancellationRequested) { - await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.single' : COMMAND_PREFIX + '.run.single', item.uri.toString(), idx < 0 ? undefined : item.id.slice(idx + 1)); + await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? 'java.debug.single' : 'java.run.single', item.uri.toString(), idx < 0 ? undefined : item.id.slice(idx + 1)); } } } @@ -73,7 +72,7 @@ export class NbTestAdapter { this.testController.items.forEach(item => this.set(item, 'enqueued')); for (let workspaceFolder of workspace.workspaceFolders || []) { if (!cancellation.isCancellationRequested) { - await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.test': COMMAND_PREFIX + '.run.test', workspaceFolder.uri.toString()); + await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? 'java.debug.test': 'java.run.test', workspaceFolder.uri.toString()); } } } @@ -309,7 +308,7 @@ export class NbTestAdapter { } const result = regExp.exec(line); if (result) { - message.appendText(result[1]).appendText('(').appendMarkdown(`[${result[3]}](command:${COMMAND_PREFIX}.open.stacktrace?${encodeURIComponent(JSON.stringify([currentTestUri, result[2], result[4], +result[5]]))})`).appendText(')'); + message.appendText(result[1]).appendText('(').appendMarkdown(`[${result[3]}](command:java.open.stacktrace?${encodeURIComponent(JSON.stringify([currentTestUri, result[2], result[4], +result[5]]))})`).appendText(')'); } else { message.appendText(line); } diff --git a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java index 0c6b3507c1bc..4d9db1f37512 100644 --- a/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java +++ b/java/java.openjdk.project/src/org/netbeans/modules/java/openjdk/jtreg/CodeLensProviderImpl.java @@ -65,8 +65,8 @@ private List doComputeCodeLens(Document doc) { Tag testTag = testTags.get(0); Range lenSpan = new Range(testTag.getTagStart(), testTag.getTagEnd()); List params = Collections.singletonList(file.toURI().toString()); - return Collections.unmodifiableList(Arrays.asList(new CodeLens(lenSpan, new Command(Bundle.DN_RunTest(), "nbls.run.test", params), null), - new CodeLens(lenSpan, new Command(Bundle.DN_DebugTest(), "nbls.debug.test", params), null))); + return Collections.unmodifiableList(Arrays.asList(new CodeLens(lenSpan, new Command(Bundle.DN_RunTest(), "java.run.test", params), null), + new CodeLens(lenSpan, new Command(Bundle.DN_DebugTest(), "java.debug.test", params), null))); } }