You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已安装VSpaceCode扩展时如何添加VSCode-Avy快捷键绑定

VSpaceCode环境下VSCode-Avy快捷键绑定失效解决方案

你之前的配置不生效有两个核心原因:

  • when条件范围错误:配置的sideBarFocus && !inputFocus && !whichkeyActive仅在侧边栏聚焦时触发,正常代码编辑区聚焦(editorTextFocus状态)时完全不匹配规则,按快捷键无响应。
  • 快捷键被VSpaceCode拦截:VSpaceCode默认全局接管space开头的按键序列唤起whichkey菜单,你直接绑定的space+j+j序列会被优先拦截,不会传递到avy的命令。

方案1:集成到VSpaceCode的Space菜单(符合VSpaceCode操作习惯,推荐)

不要直接绑定space开头的和弦快捷键,将avy跳转注册到whichkey菜单路径下即可,配置步骤:

  1. 打开命令面板,执行Preferences: Open Keyboard Shortcuts (JSON)打开keybindings.json配置文件
  2. 删除之前添加的无效配置段
  3. 添加如下配置:
{
  "key": "j",
  "command": "whichkey.register",
  "args": {
    "key": "j",
    "name": "+跳转",
    "type": "bindings",
    "bindings": [
      {
        "key": "j",
        "name": "Avy字符跳转",
        "type": "command",
        "command": "findThenJump.initiate"
      }
    ]
  },
  "when": "whichkeyVisible && whichkeyPreviousKey == 'space'"
}

配置完成后按space唤起whichkey菜单,依次按j、j即可触发avy跳转,编辑区、侧边栏等非输入框聚焦场景下均可正常触发。


方案2:直接绑定快捷键(不经过whichkey菜单)

如果不需要弹出whichkey菜单,想按下space+j+j直接触发跳转,需要提高快捷键优先级覆盖VSpaceCode的默认拦截,配置如下:

{
  "key": "space j j",
  "command": "findThenJump.initiate",
  "when": "(editorTextFocus || sideBarFocus) && !inputFocus && !whichkeyActive",
  "priority": 100
}

配置说明:

  • when条件覆盖了代码编辑区、侧边栏聚焦的常用场景,可根据自己的使用需求增减触发场景
  • priority参数设置为100是为了让该快捷键优先级高于VSpaceCode默认的space唤起菜单绑定,避免按键被拦截
  • 如果配置后仍有冲突,可打开键盘快捷键管理页搜索findThenJump.initiate,查看冲突项后适当调高priority数值即可。

内容的提问来源于stack exchange,提问作者arnle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 10:15:34