Java Code Examples for org.eclipse.lsp4j.CodeAction#setCommand()
The following examples show how to use
org.eclipse.lsp4j.CodeAction#setCommand() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CodeActionAcceptor.java From n4js with Eclipse Public License 1.0 | 6 votes |
/** Adds a quick-fix code action with the given title, edit and command */ public void acceptQuickfixCodeAction(QuickfixContext context, String title, WorkspaceEdit edit, Command command) { if (edit == null && command == null) { return; } CodeAction codeAction = new CodeAction(); codeAction.setTitle(title); codeAction.setEdit(edit); codeAction.setCommand(command); codeAction.setKind(CodeActionKind.QuickFix); if (context.options != null && context.options.getCodeActionParams() != null) { CodeActionContext cac = context.options.getCodeActionParams().getContext(); if (cac != null && cac.getDiagnostics() != null) { codeAction.setDiagnostics(cac.getDiagnostics()); } } codeActions.add(Either.forRight(codeAction)); }
Example 2
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 6 votes |
private Optional<Either<Command, CodeAction>> getOverrideMethodsAction(CodeActionParams params) { if (!preferenceManager.getClientPreferences().isOverrideMethodsPromptSupported()) { return Optional.empty(); } Command command = new Command(ActionMessages.OverrideMethodsAction_label, COMMAND_ID_ACTION_OVERRIDEMETHODSPROMPT, Collections.singletonList(params)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(JavaCodeActionKind.SOURCE_OVERRIDE_METHODS)) { CodeAction codeAction = new CodeAction(ActionMessages.OverrideMethodsAction_label); codeAction.setKind(JavaCodeActionKind.SOURCE_OVERRIDE_METHODS); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } }
Example 3
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 6 votes |
private Optional<Either<Command, CodeAction>> getGetterSetterAction(CodeActionParams params, IInvocationContext context, IType type) { try { AccessorField[] accessors = GenerateGetterSetterOperation.getUnimplementedAccessors(type); if (accessors == null || accessors.length == 0) { return Optional.empty(); } else if (accessors.length == 1 || !preferenceManager.getClientPreferences().isAdvancedGenerateAccessorsSupported()) { GenerateGetterSetterOperation operation = new GenerateGetterSetterOperation(type, context.getASTRoot(), preferenceManager.getPreferences().isCodeGenerationTemplateGenerateComments()); TextEdit edit = operation.createTextEdit(null, accessors); return convertToWorkspaceEditAction(params.getContext(), context.getCompilationUnit(), ActionMessages.GenerateGetterSetterAction_label, JavaCodeActionKind.SOURCE_GENERATE_ACCESSORS, edit); } else { Command command = new Command(ActionMessages.GenerateGetterSetterAction_ellipsisLabel, COMMAND_ID_ACTION_GENERATEACCESSORSPROMPT, Collections.singletonList(params)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(JavaCodeActionKind.SOURCE_GENERATE_ACCESSORS)) { CodeAction codeAction = new CodeAction(ActionMessages.GenerateGetterSetterAction_ellipsisLabel); codeAction.setKind(JavaCodeActionKind.SOURCE_GENERATE_ACCESSORS); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } } } catch (OperationCanceledException | CoreException e) { JavaLanguageServerPlugin.logException("Failed to generate Getter and Setter source action", e); return Optional.empty(); } }
Example 4
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 6 votes |
private Optional<Either<Command, CodeAction>> getGenerateDelegateMethodsAction(CodeActionParams params, IInvocationContext context, IType type) { try { if (!preferenceManager.getClientPreferences().isGenerateDelegateMethodsPromptSupported() || !GenerateDelegateMethodsHandler.supportsGenerateDelegateMethods(type)) { return Optional.empty(); } } catch (JavaModelException e) { return Optional.empty(); } Command command = new Command(ActionMessages.GenerateDelegateMethodsAction_label, COMMAND_ID_ACTION_GENERATEDELEGATEMETHODSPROMPT, Collections.singletonList(params)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(JavaCodeActionKind.SOURCE_GENERATE_DELEGATE_METHODS)) { CodeAction codeAction = new CodeAction(ActionMessages.GenerateDelegateMethodsAction_label); codeAction.setKind(JavaCodeActionKind.SOURCE_GENERATE_DELEGATE_METHODS); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } }
Example 5
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 6 votes |
private Optional<Either<Command, CodeAction>> convertToWorkspaceEditAction(CodeActionContext context, ICompilationUnit cu, String name, String kind, TextEdit edit) { WorkspaceEdit workspaceEdit = convertToWorkspaceEdit(cu, edit); if (!ChangeUtil.hasChanges(workspaceEdit)) { return Optional.empty(); } Command command = new Command(name, CodeActionHandler.COMMAND_ID_APPLY_EDIT, Collections.singletonList(workspaceEdit)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(kind)) { CodeAction codeAction = new CodeAction(name); codeAction.setKind(kind); codeAction.setCommand(command); codeAction.setDiagnostics(context.getDiagnostics()); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } }
Example 6
Source File: CodeActionProvider.java From vscode-as3mxml with Apache License 2.0 | 6 votes |
private void findSourceActions(Path path, List<Either<Command, CodeAction>> codeActions) { Command organizeCommand = new Command(); organizeCommand.setTitle("Organize Imports"); organizeCommand.setCommand(ICommandConstants.ORGANIZE_IMPORTS_IN_URI); JsonObject uri = new JsonObject(); uri.addProperty("external", path.toUri().toString()); organizeCommand.setArguments(Lists.newArrayList( uri )); CodeAction organizeImports = new CodeAction(); organizeImports.setKind(CodeActionKind.SourceOrganizeImports); organizeImports.setTitle(organizeCommand.getTitle()); organizeImports.setCommand(organizeCommand); codeActions.add(Either.forRight(organizeImports)); }
Example 7
Source File: CodeActionAcceptor.java From n4js with Eclipse Public License 1.0 | 5 votes |
@Override public void acceptSourceAction(String title, String kind, String commandId, Object... arguments) { if (!CodeActionUtils.isSpecialKindOf(kind, CodeActionKind.Source)) { throw new IllegalArgumentException("not a source action kind: " + kind); } CodeAction codeAction = new CodeAction(); codeAction.setTitle(title); codeAction.setKind(kind); Command command = new Command(title, commandId, Arrays.asList(arguments)); codeAction.setCommand(command); codeActions.add(Either.forRight(codeAction)); }
Example 8
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private Optional<Either<Command, CodeAction>> getOrganizeImportsAction(CodeActionParams params) { Command command = new Command(CorrectionMessages.ReorgCorrectionsSubProcessor_organizeimports_description, COMMAND_ID_ACTION_ORGANIZEIMPORTS, Collections.singletonList(params)); CodeAction codeAction = new CodeAction(CorrectionMessages.ReorgCorrectionsSubProcessor_organizeimports_description); codeAction.setKind(CodeActionKind.SourceOrganizeImports); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Optional.of(Either.forRight(codeAction)); }
Example 9
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private Optional<Either<Command, CodeAction>> getHashCodeEqualsAction(CodeActionParams params) { if (!preferenceManager.getClientPreferences().isHashCodeEqualsPromptSupported()) { return Optional.empty(); } Command command = new Command(ActionMessages.GenerateHashCodeEqualsAction_label, COMMAND_ID_ACTION_HASHCODEEQUALSPROMPT, Collections.singletonList(params)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(JavaCodeActionKind.SOURCE_GENERATE_HASHCODE_EQUALS)) { CodeAction codeAction = new CodeAction(ActionMessages.GenerateHashCodeEqualsAction_label); codeAction.setKind(JavaCodeActionKind.SOURCE_GENERATE_HASHCODE_EQUALS); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } }
Example 10
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private Optional<Either<Command, CodeAction>> getGenerateToStringAction(CodeActionParams params) { if (!preferenceManager.getClientPreferences().isGenerateToStringPromptSupported()) { return Optional.empty(); } Command command = new Command(ActionMessages.GenerateToStringAction_label, COMMAND_ID_ACTION_GENERATETOSTRINGPROMPT, Collections.singletonList(params)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(JavaCodeActionKind.SOURCE_GENERATE_TO_STRING)) { CodeAction codeAction = new CodeAction(ActionMessages.GenerateToStringAction_label); codeAction.setKind(JavaCodeActionKind.SOURCE_GENERATE_TO_STRING); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } }
Example 11
Source File: SourceAssistProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private Optional<Either<Command, CodeAction>> getGenerateConstructorsAction(CodeActionParams params, IInvocationContext context, IType type, String kind) { try { if (type == null || type.isAnnotation() || type.isInterface() || type.isAnonymous() || type.getCompilationUnit() == null) { return Optional.empty(); } } catch (JavaModelException e) { return Optional.empty(); } if (preferenceManager.getClientPreferences().isGenerateConstructorsPromptSupported()) { CheckConstructorsResponse status = GenerateConstructorsHandler.checkConstructorStatus(type); if (status.constructors.length == 0) { return Optional.empty(); } if (status.constructors.length == 1 && status.fields.length == 0) { TextEdit edit = GenerateConstructorsHandler.generateConstructors(type, status.constructors, status.fields); return convertToWorkspaceEditAction(params.getContext(), type.getCompilationUnit(), ActionMessages.GenerateConstructorsAction_label, kind, edit); } Command command = new Command(ActionMessages.GenerateConstructorsAction_ellipsisLabel, COMMAND_ID_ACTION_GENERATECONSTRUCTORSPROMPT, Collections.singletonList(params)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(JavaCodeActionKind.SOURCE_GENERATE_CONSTRUCTORS)) { CodeAction codeAction = new CodeAction(ActionMessages.GenerateConstructorsAction_ellipsisLabel); codeAction.setKind(kind); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.emptyList()); return Optional.of(Either.forRight(codeAction)); } else { return Optional.of(Either.forLeft(command)); } } return Optional.empty(); }
Example 12
Source File: NonProjectFixProcessor.java From eclipse.jdt.ls with Eclipse Public License 2.0 | 5 votes |
private Either<Command, CodeAction> getDiagnosticsFixes(String message, String uri, String scope, boolean syntaxOnly) { Command command = new Command(message, REFRESH_DIAGNOSTICS_COMMAND, Arrays.asList(uri, scope, syntaxOnly)); if (preferenceManager.getClientPreferences().isSupportedCodeActionKind(CodeActionKind.QuickFix)) { CodeAction codeAction = new CodeAction(message); codeAction.setKind(CodeActionKind.QuickFix); codeAction.setCommand(command); codeAction.setDiagnostics(Collections.EMPTY_LIST); return Either.forRight(codeAction); } else { return Either.forLeft(command); } }