Skip to content

Commit 6c3ec2b

Browse files
daviwilKapil Borle
authored andcommitted
DRAFT: Initial "code actions" support
1 parent ecd43f0 commit 6c3ec2b

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/features/CodeActions.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import vscode = require('vscode');
2+
import { LanguageClient, RequestType, NotificationType } from 'vscode-languageclient';
3+
import Window = vscode.window;
4+
5+
export function registerCodeActionCommands(client: LanguageClient): void {
6+
vscode.commands.registerCommand('PowerShell.ApplyCodeActionEdits', (edit: any) => {
7+
console.log("Applying edits");
8+
console.log(edit);
9+
10+
var workspaceEdit = new vscode.WorkspaceEdit();
11+
workspaceEdit.set(
12+
vscode.Uri.file(edit.File),
13+
[
14+
new vscode.TextEdit(
15+
new vscode.Range(
16+
edit.StartLineNumber - 1,
17+
edit.StartColumnNumber - 1,
18+
edit.EndLineNumber - 1,
19+
edit.EndColumnNumber - 1),
20+
edit.Text)
21+
]);
22+
vscode.workspace.applyEdit(workspaceEdit);
23+
});
24+
}

src/main.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { registerOpenInISECommand } from './features/OpenInISE';
2020
import { registerPowerShellFindModuleCommand } from './features/PowerShellFindModule';
2121
import { registerConsoleCommands } from './features/Console';
2222
import { registerExtensionCommands } from './features/ExtensionCommands';
23+
import { registerCodeActionCommands } from './features/CodeActions';
2324

2425
import net = require('net');
2526

@@ -317,6 +318,7 @@ function registerFeatures() {
317318
registerOpenInISECommand();
318319
registerPowerShellFindModuleCommand(languageServerClient);
319320
registerExtensionCommands(languageServerClient);
321+
registerCodeActionCommands(languageServerClient);
320322
}
321323

322324
export function deactivate(): void {

0 commit comments

Comments
 (0)