是否可以在 Visual Studio Code 扩展中访问鼠标事件
Posted
技术标签:
【中文标题】是否可以在 Visual Studio Code 扩展中访问鼠标事件【英文标题】:Is it possible to access mouse events in a Visual Studio Code extension 【发布时间】:2016-07-08 10:00:18 【问题描述】:我想为 Visual Studio Code 编写一个简单的扩展,以允许基本的拖放复制/粘贴功能,但我找不到任何方法来通知鼠标事件。我是否忽略了一些明显的东西,还是故意将编辑器设计为仅键盘(大部分情况下)?
注意:我指的是基于 TypeScript 的 Visual Studio Code 编辑器,而不是成熟的 Visual Studio。
编辑:我应该用不同的方式表达这个问题,因为现在确实有拖放复制/粘贴,但我仍然不清楚如何在扩展程序中处理鼠标事件。
【问题讨论】:
我相信最新版本具有拖放编辑功能(但我不完全确定,因为这不是我使用的功能)。 最新版本确实允许用鼠标移动选定的文本,但由于某种原因不能复制。此外,除非我错过了什么,否则似乎仍然无法在扩展中捕获鼠标事件。 我今天遇到了这个问题,看起来仍然没有自定义鼠标快捷方式并在扩展程序中使用它的选项。 这里使用树视图相同 - 我认为没有使用 webview 来控制树节点拖放等的 API。就我而言,我可以用基于点击的非常丑陋的 UX 替换拖放。 vscode 和 typescript 是很棒的产品,但我觉得他们优先考虑最终用户的需求,而不是扩展 API(这没关系)——在 vscode 的情况下,我希望文件资源管理器、搜索等组件成为扩展(吃掉你的自己的 sh$t) 使用提供给像我这样的用户的相同 API.. 但这当然会使开发速度变慢。 这个在最新的VS Code中已经支持了,只要选中你要复制的文本,按下CTRL
按钮拖放它,它就会被复制到你想要的地方。但只能在同一个文件中使用,不能复制到另一个文件中。
【参考方案1】:
没有。
目前(2021 年)没有 API 功能允许挂钩拖放鼠标事件。
一般来说,如果你想让一个扩展挂钩到 VS Code 中发生的事情,你可以通过 subscribing 到某些 events 来实现(在该页面上搜索“事件”)。
【讨论】:
以上是关于是否可以在 Visual Studio Code 扩展中访问鼠标事件的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Visual Studio Code 扩展中访问鼠标事件
是否可以使用 Visual Studio Code 的 linter 忽略特定警告?
是否有可以编写黄瓜步骤定义的 Visual Studio Code 扩展?
是否可以找出 Visual Studio Code 扩展的大小?