VSCode键绑定以导航到渲染方法

问题描述 投票:0回答:1

所以我正在使用VSCode进行反应开发,我想知道是否可以使用快捷方式跳转到render函数。自然地,没有预配置的方法。因此,我调查了一下并找到了GitHub issue

{
    "key": "shift+alt+p",
    "command": "workbench.action.quickOpen",
    "args": "@:render"
},

问题是,该快捷方式打开了vscode窗口。这是预填充的,我必须按Enter键才能进行实际的“导航至”。有谁知道如何执行此操作而无需按Enter键?

reactjs visual-studio-code keyboard-shortcuts vscode-settings
1个回答
0
投票

我认为唯一的方法是使用宏来运行quickOpen命令并使用一个键进行选择。

使用multi-command之类的宏扩展名,将其放入您的设置:

  "multiCommand.commands": [

    {
      "command": "multiCommand.goToRender",
      "sequence": [
        {
          "command": "workbench.action.quickOpen",
          "args": "@:render"
        },
        "workbench.action.acceptSelectedQuickOpenItem"
      ]
    }
  ]

和一些用于触发该宏的键绑定(在您的keybindings.json中:

{
    "key": "shift+alt+p",
    "command": "extension.multiCommand.execute",
    "args": { "command": "multiCommand.goToRender" },
    "when": "editorTextFocus"
}

当然,如果您有多个render对象,则将选择第一个对象并将其导航到。


一种替代方法是使用selectBy扩展名,可以将其扩展为跳转到单词render的下一个或上一个出现的位置。该扩展名可以移至出现单词的位置(并且不选择任何内容)。在您的设置中:

 "selectby.regexes": {    

    "goToRender": {
      "moveby": "render",
    }
  }

以及一些键绑定(无论您想要什么绑定):

  {
    "key": "shift+alt+p",          // go up to the previous `render` 
    "when": "editorTextFocus", 
    "command": "moveby.regex",
    "args": ["goToRender", "moveby", "prev", "start"]
  },

  {
    "key": "alt+p",            // go to the next `render`
    "when": "editorTextFocus",
    "command": "moveby.regex",
    "args": ["goToRender", "moveby", "next", "start"]
  },
© www.soinside.com 2019 - 2024. All rights reserved.