Skip to content

优化 VS Code 中使用 Alt 类快捷键触发语音输入时的焦点处理 #648

Description

@H-Chris233

概述

在 VS Code 中编辑 Markdown 文件时,如果使用类似 "Alt+2" 的全局快捷键触发语音输入,VS Code 似乎会优先识别并处理 "Alt" 键本身,导致焦点从当前 Markdown 编辑区域跳转到文件/导航区域。

这会造成语音输入虽然被触发了,但最终文本无法输入到原本光标所在的 Markdown 编辑区域中。

复现步骤

  1. 打开 VS Code。
  2. 打开并编辑一个 Markdown 文件。
  3. 使用类似 "Alt+2" 的快捷键触发语音输入。
  4. 触发时,预期焦点仍停留在 Markdown 编辑器中。
  5. 实际上 VS Code 可能会先响应 "Alt" 键,导致焦点跳转到文件/导航区域,语音输入结果无法插入到下方编辑区域。

实际表现

使用 "Alt+数字" 这类快捷键触发语音输入时,VS Code 可能会优先处理 "Alt" 键行为,使当前编辑器焦点丢失。随后语音输入完成后,文本无法插入到原本的 Markdown 编辑位置。

预期表现

通过快捷键触发语音输入时,应尽量保持或恢复触发前的文本编辑焦点,确保语音识别结果能够插入到原本光标所在的位置。

可能的优化方向

  • 在触发语音输入后,检测当前焦点是否从原本的编辑区域发生变化,并在写入文本前尝试恢复焦点。
  • 对容易与系统或应用菜单行为冲突的快捷键组合,例如 "Alt+数字",提供提示或警告。
  • 针对 VS Code 做特殊兼容处理,尤其是在 Markdown 编辑场景下。
  • 在快捷键设置说明中推荐更不容易与编辑器冲突的组合,避免用户配置 "Alt+数字" 这类快捷键。

补充说明

这个问题不是阻塞性问题,但会影响 VS Code 中语音输入的稳定性和可用性。当前表现会让用户感觉语音输入已经成功触发,但最终文本没有进入预期的编辑区域,体验上比较容易困惑。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions