小编The*_*ast的帖子

公开 VSCode 活动“when 子句上下文”的方法

我正在寻找一种方法来公开 VSCode活动的“when 子句上下文”,例如“explorerResourceIsFolder”。为了让您更好地理解我的用例,以下是正在开发 VSCode 扩展的项目的一些背景信息。我的扩展将有助于通过语音在 VSCode 中进行编程和控制。

Caster 是一个基于 Dragonfly 的语音编程工具包。Dragonfly 是一个语音识别框架。它是一个 Python 包,提供高级对象模型,并允许用户轻松编写使用语音识别的脚本、宏和程序。这些项目背后的目标是让那些与键盘或鼠标交互受限的人能够进行编程或让开发人员提高生产力。

Caster 和 Dragonfly 当前的一些突出限制都是通过模拟击键进行交互的。这只是举几个问题。

  • 不同系统配置和 IDE 版本的 IDE 性能可靠性。这引入了命令执行延迟等变量。
  • Caster完全不知道IDE环境。
  • Dragon NaturallySpeaking 对语法有复杂性上限。达到限制后,将出现 BadGrammar 错误。
  • 键盘组合有限,并非所有功能都可以通过快捷键调用。

Adom 编辑器的一些示例

  1. find in buffer": R(Key("cf"), rdescript="Atom: Find in Buffer") 只有少数相关命令在“Find in Buffer”上下文中有用,但 Caster 命令是全局性的,这会降低命令语音识别的准确性并增加语法复杂性。与 Caster IDE 集成将允许指定到 IDE 上下文或焦点的有限命令集。
  2. “分割成行”: R(Key("cs-p") + Text("分割成行") + Pause(atom_palette_wait) + Key("enter"), rdescript="Atom: 分割成行"), Not所有 IDE 功能都可以通过快捷方式调用,或者可以在 Caster 中轻松地重新创建。我尝试在 adom 中解决这个问题是利用命令面板。虽然这扩展了我触发命令的能力,但它引入了延迟。禁食会触发错误的命令。太慢会降低生产率。索引延迟基于系统负载、系统规格、活动插件数量以及每个命令的字符数。我们尝试使用 Pause(atom_palette_wait) 来缓解这一问题,但延迟中的变量太复杂。Studio Code 也是如此。

Caster框架IDE集成

  • Caster 将包含 IDE 函数,以传递给 IDE 插件/扩展来执行。例如“查找”: …

visual-studio-code vscode-extensions

6
推荐指数
1
解决办法
1429
查看次数