Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code 在VisualStudio代码扩展中捕获击键_Visual Studio Code_Vscode Extensions - Fatal编程技术网

Visual studio code 在VisualStudio代码扩展中捕获击键

Visual studio code 在VisualStudio代码扩展中捕获击键,visual-studio-code,vscode-extensions,Visual Studio Code,Vscode Extensions,我希望能够在VisualStudio代码扩展中捕获击键。我需要知道添加或删除的新文本以及更改在文件中的位置 我已注册了一个侦听器: vscode.window.onDidChangeTextEditorSelection(handleChange) 每次插入符号移动我都会得到更新,但我很难从传入的事件中添加/删除文本和位置。目前,我正在处理程序中执行此操作: function handleChange(event) { console.log("Change in the text e

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

我已注册了一个侦听器:

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);
}
函数句柄更改(事件){
log(“文本编辑器中的更改”);
对于(变量i=0;i

文档中提到了一个名为TextDocumentContentChangeEvent的东西,它似乎正是我需要的,但我不知道如何注册一个处理程序来接收这些内容。

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

vscode.workspace.onDidChangeTextDocument(handleChange)

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

看看另一个野外的例子怎么样。也许这会有所帮助-