|
1 | 1 | 'use strict'; |
2 | 2 |
|
3 | | -import { commands, window, ExtensionContext, ViewColumn, Uri, Disposable, workspace, TextEditorRevealType } from 'vscode'; |
| 3 | +import { Disposable, ExtensionContext, TextEditorRevealType, Uri, ViewColumn, commands, window, workspace } from 'vscode'; |
4 | 4 | import { CodeActionParams, WorkspaceEdit } from 'vscode-languageclient'; |
5 | 5 | import { LanguageClient } from 'vscode-languageclient/node'; |
6 | 6 | import { Commands } from './commands'; |
7 | | -import { ListOverridableMethodsRequest, AddOverridableMethodsRequest, CheckHashCodeEqualsStatusRequest, GenerateHashCodeEqualsRequest, |
8 | | -OrganizeImportsRequest, ImportCandidate, ImportSelection, GenerateToStringRequest, CheckToStringStatusRequest, VariableBinding, GenerateAccessorsRequest, CheckConstructorStatusRequest, GenerateConstructorsRequest, CheckDelegateMethodsStatusRequest, GenerateDelegateMethodsRequest, AccessorKind, AccessorCodeActionRequest, AccessorCodeActionParams } from './protocol'; |
| 7 | +import { |
| 8 | + AccessorCodeActionParams, |
| 9 | + AccessorCodeActionRequest, |
| 10 | + AccessorKind, |
| 11 | + AddOverridableMethodsRequest, |
| 12 | + CheckConstructorStatusRequest, |
| 13 | + CheckDelegateMethodsStatusRequest, |
| 14 | + CheckHashCodeEqualsStatusRequest, |
| 15 | + CheckToStringStatusRequest, |
| 16 | + GenerateAccessorsRequest, |
| 17 | + GenerateConstructorsRequest, |
| 18 | + GenerateDelegateMethodsRequest, |
| 19 | + GenerateHashCodeEqualsRequest, |
| 20 | + GenerateToStringRequest, |
| 21 | + ImportCandidate, ImportSelection, |
| 22 | + ListOverridableMethodsRequest, |
| 23 | + CleanupRequest, |
| 24 | + OrganizeImportsRequest, |
| 25 | + VariableBinding |
| 26 | +} from './protocol'; |
9 | 27 | import { applyWorkspaceEdit } from './standardLanguageClient'; |
| 28 | +import { getActiveLanguageClient } from './extension'; |
10 | 29 |
|
11 | 30 | export function registerCommands(languageClient: LanguageClient, context: ExtensionContext) { |
12 | 31 | registerOverrideMethodsCommand(languageClient, context); |
13 | 32 | registerHashCodeEqualsCommand(languageClient, context); |
14 | 33 | registerOrganizeImportsCommand(languageClient, context); |
| 34 | + registerCleanupCommand(languageClient, context); |
15 | 35 | registerChooseImportCommand(context); |
16 | 36 | registerGenerateToStringCommand(languageClient, context); |
17 | 37 | registerGenerateAccessorsCommand(languageClient, context); |
@@ -67,6 +87,15 @@ function registerOverrideMethodsCommand(languageClient: LanguageClient, context: |
67 | 87 | })); |
68 | 88 | } |
69 | 89 |
|
| 90 | +function registerCleanupCommand(languageClient: LanguageClient, context: ExtensionContext): void { |
| 91 | + // Only active when editorLangId == java |
| 92 | + context.subscriptions.push(commands.registerCommand(Commands.MANUAL_CLEANUP, async () => { |
| 93 | + const languageClient: LanguageClient | undefined = await getActiveLanguageClient(); |
| 94 | + const workspaceEdit = await languageClient.sendRequest(CleanupRequest.type, languageClient.code2ProtocolConverter.asTextDocumentIdentifier(window.activeTextEditor.document)); |
| 95 | + await applyWorkspaceEdit(workspaceEdit, languageClient); |
| 96 | + })); |
| 97 | +} |
| 98 | + |
70 | 99 | function registerHashCodeEqualsCommand(languageClient: LanguageClient, context: ExtensionContext): void { |
71 | 100 | context.subscriptions.push(commands.registerCommand(Commands.HASHCODE_EQUALS_PROMPT, async (params: CodeActionParams) => { |
72 | 101 | const result = await languageClient.sendRequest(CheckHashCodeEqualsStatusRequest.type, params); |
|
0 commit comments