捕获visual studio代码扩展中的击键

时间:2016-04-19 19:18:50

标签: visual-studio-code vscode-extensions

我希望能够在visual studio代码扩展中捕获击键。我需要知道添加或删除的新文本以及文件中更改的位置。

我已经注册了一位听众:

vscode.window.onDidChangeTextEditorSelection(handleChange)

我正在获取每个插入符号移动的更新,但是我很难从传入的事件中添加/删除文本和位置。目前,我在处理程序中执行此操作:

function handleChange(event) {
    console.log("Change in the text editor");
    for(var i = 0;i < event.selections.length;i++)
    {
        var selection = event.selections[i];
        console.log("Start- Line: (" + selection.start.line + ") Col: (" + selection.start.character + ") End- Line: (" + selection.end.line + ") Col: (" + selection.end.character + ")");
    }
    console.log(event);
}

文档中提到了一个叫做TextDocumentContentChangeEvent的东西,它看起来就像我需要的东西,但我不知道如何注册一个处理程序来接收它们。

1 个答案:

答案 0 :(得分:2)

我在原始问题中发现了这个问题。我正在听错事件。要获取具有名为contentChanges的属性的TextDocumentChangeEvents,它返回TextDocumentContentChangeEvents,请使用以下代码:

vscode.workspace.onDidChangeTextDocument(handleChange)

并传入一个函数,该函数将在每次更改文件时使用TextDocumentChangeEvent调用。