检查VS Extensions中当前是否按下了控制/命令键

Mat*_*ias 10 visual-studio-code vscode-extensions

在我的扩展中,如果当前按下了控制(或命令)键,我想检查某个功能.怎么可能?我找不到任何公开此信息的字段.

Tar*_*ani 2

如果您阅读了下面的文章

\n

https://code.visualstudio.com/docs/extensionAPI/patterns-and-principles

\n

它说

\n
\n

Visual Studio Code 具有非常丰富的可扩展性模型,并且有多种方法可以扩展该工具。但是,我们不向扩展编写者提供对底层 UI DOM 的直接访问。通过 VS Code,我们\xe2\x80\x99 不断尝试优化底层 Web 技术的使用,以提供始终可用、高度响应的编辑器,并且随着这些技术和产品的发展,我们将继续调整 DOM 的使用。为了保持性能和兼容性,我们在自己的主机进程中运行扩展并防止直接访问 DOM。VS Code 还包含一组内置的 UI 组件,适用于常见场景(例如 IntelliSense),因此这些体验在跨编程语言和扩展中保持一致,并且扩展开发人员无需构建自己的组件。

\n

我们意识到这种方法最初可能会对扩展开发人员产生限制。我们\xe2\x80\x99一直在寻找方法来改进我们的可扩展性模型并扩展可用于扩展的功能。我们期待听到您的反馈和想法。

\n
\n

这意味着您的扩展代码根本不运行编辑器窗口上下文。而且你无法侵入 webview,因为扩展 api 不提供它。因此,您需要向 VScode 团队提出功能请求,并要求他们公开最后一个键盘事件或至少公开ShiftCtrlalt键的状态。目前他们只是丢弃它并扔掉它(如果没有打开编辑器),否则他们在检查任何快捷方式组合之前将其发送到摩纳哥编辑器

\n

丢弃事件

\n