是否可以在 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 扩展的大小?

是否有隐藏 Visual Studio Code 中侧栏的快捷方式?

如何在 Visual Studio Code 中注释多行?