在 Visual Studio 代码扩展中捕获击键

2023-12-06

我希望能够在 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 的东西,这似乎正是我所需要的,但我不知道如何注册处理程序来接收这些事件。


我在原来的问题中发现了问题。我监听的是错误的事件。要获取具有名为 contentChanges 且返回 TextDocumentContentChangeEvents 的属性的 TextDocumentChangeEvents,请使用以下代码:

vscode.workspace.onDidChangeTextDocument(handleChange)

并传入一个函数,每次对文件进行更改时都会使用 TextDocumentChangeEvent 调用该函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio 代码扩展中捕获击键 的相关文章

随机推荐

  • 扩展 UILocalNotification

    我是 iOS 初学者 我尝试扩展 UILocalNotification 下面是我的班级 interface FSCustomNatification UILocalNotification typedef enum FSCustomNat
  • 如何访问 angular.dart 组件的属性或方法

    我定义了一个角度 dart 组件像这样 NgComponent selector dartcomp templateUrl dartComp html publishAs ctrl map const val val class DartC
  • 跳转目标与指令pc 0x400014高4位不同

    我正在处理我的 MIPS 分配 但收到此错误 跳转目标与指令 pc 0x400014 的高位 4 位不同 我想要一些帮助 您正尝试跳转到内存中当前 256MByte 区域之外的地址 看here 如果您需要帮助识别代码中的问题 您需要发布一些
  • 用于桌面应用程序的 Swing 与 JavaFx [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我有一个非常大的程序 当前正在使用 SWT 该程序可以在Windows Mac和Linux上运行 它是一个包含很多元素的大型桌面应用程序 现在 SWT 有点老了 我想切换到 Swing 或
  • 是否存在某些情况下您更喜欢较高的 Big-O 时间复杂度算法而不是较低的算法?

    在某些情况下您会更喜欢O log n 时间复杂度为O 1 时间复杂度 或者O n to O log n 你有什么例子吗 与较低的算法相比 选择具有较高大 O 时间复杂度的算法可能有很多原因 大多数时候 降低大 O 复杂度更难实现 需要熟练的
  • PHP - 500 而不是错误

    我有一个用 PHP 编写的页面 我无权访问服务器 我想让 PHP 遇到错误时不显示错误消息 而是给出 500 如果 display errors 关闭 PHP 5 2 默认情况下会在发生致命错误时发送 HTTP 500 如果托管使用较旧的
  • Swift:使用 self.moc.save() 保存核心数据时出现 Nil 错误

    自从我将项目更改为使用 objectWillChange send 以来 我收到零错误 因为我需要手动更新视图 因为它不会为自定义轮播视图更新自身 因为核心数据 如果我写 1 并点击下一步按钮 NavigationLink 控制台日志页面名
  • Google Cloud 端点的缓存?

    对 Cloud Endpoints 的请求会被缓存吗 官方文档对这个问题有点了解 文档如下 Cloud Endpoints 使用分布式可扩展服务代理来 提供低延迟和高性能 甚至可以为最多的人提供服务 要求严格的 API 并且可以与 Goog
  • 无需用户交互即可触发的 Javascript 事件?

    我的表单上的文本框可能会根据各种下拉列表中选择的内容而变化 有没有办法在文本框值更改时调用 JavaScript 函数 尝试了 onchange 事件 但这似乎只有在用户手动更改文本框值时才有效 Cheers Breand n 不会 由 j
  • Java Swing:蝇量级 vs 新窗口

    我正在开发一个新的应用程序 我将同时打开一些窗口 我目前正在尝试设计 GUI 但我正在努力解决两个选择 我可以使用侧面导航面板并使用页面的中心来显示每个面板的内容 这些面板将根据享元模式进行存储 我将在单击导航按钮时隐藏 显示它们 以便在隐
  • 纯 CSS 折叠手风琴

    我有一个 CSS 折叠手风琴 只有纯 CSS 它工作完美 我只有 1 个问题 现在 如果用户单击任何标签 标签一 标签二 标签三 他无法再次单击标签将其关闭 如果用户单击下一个标签 每个标签都可以关闭 我想让它成为可能 例如 用户单击标签一
  • Pandas:计算平均值,忽略自己行的值[重复]

    这个问题在这里已经有答案了 我想按组计算平均值 忽略行本身的值 import pandas as pd d col1 a a b a b a col2 0 4 3 5 3 4 df pd DataFrame data d 我知道如何按组返回
  • 获取文件移动日期时间

    当您复制文件时 在 Windows 环境中 Creation 和 LastAccess 日期时间会被修改 并且可以使用FileInfo object 但是 我找不到任何可靠的日期时间 直接链接到文件 当文件移动到文件夹中时 该日期时间会发生
  • 如何在 C++ 中将数字转换为字符串,反之亦然

    由于这个问题每周都会被问到 所以FAQ可能会帮助很多用户 如何在 C 中将整数转换为字符串 C 中如何将字符串转换为整数 如何在C 中将浮点数转换为字符串 C 中如何将字符串转换为浮点数 C 11 更新 截至C 11标准 字符串到数字的转换
  • 根据数组元素的属性获取数组元素的索引

    我有一个 JavaScript 对象数组 如下所示 var myArray 每个物体都有独特的id除其他属性外 id 4 property1 something property2 something 如果我只知道它 如何获取该数组中特定对
  • 未捕获的ReferenceError:进程未定义react-bootstrap

    我正在尝试将 React bootstrap js 文件包含到我的项目中几个小时 我是反应新手 我只会将它用于客户端 我尝试从 CDN 包含 但无法正常工作 React Bootstrap Uncaught ReferenceError 未
  • 是否可以从 Azure Python SDK 获取 ASC 位置?

    我正在使用以下方法获取订阅的安全分数Microsoft Azure 安全中心 ASC 管理客户端库 库中的所有操作都表明 您不应该直接实例化此类 而应创建一个 Client 实例 该实例将为您创建该类并将其附加为属性 因此 我正在创建一个安
  • 使用带有 unicode 字符的 ng-pattern (Angular.JS) 会产生不良结果

    我正在使用 ng pattern 其输入字段应仅接受希伯来字符 我已经找出了希伯来字符的 unicode 数字 这是我的模式 scope onlyHebrewPattern u05D0 u05F3 g 我的表单输入
  • Html5 Canvas 变换算法 - 应用变换后查找对象坐标

    在 html5 画布上 我正在绘制对象 矩形 圆形等 这些对象具有缩放 倾斜 旋转等变换属性 这些对象可以嵌套 当我应用转换后 我想找到给定对象的精确 x y 坐标时 就会出现问题 但它超出了我的范围 致所有热衷于交互式计算机图形学的专家
  • 在 Visual Studio 代码扩展中捕获击键

    我希望能够在 Visual Studio 代码扩展中捕获击键 我需要知道添加或删除的新文本以及文件中更改的位置 我已经注册了一个监听器 vscode window onDidChangeTextEditorSelection handleC