Связывание клавиш VSCode для навигации по методу рендеринга - PullRequest
0 голосов
/ 28 апреля 2020

, поэтому я использую VSCode для реактивной разработки, и мне было интересно, смогу ли я перейти к функции рендеринга с помощью ярлыка. Естественно нет заранее настроенного пути. Поэтому я посмотрел на него и обнаружил проблему с GitHub .

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

Проблема в том, что ярлык открывает окно vscode. Который предварительно заполнен, и я должен нажать кнопку ввода, чтобы сделать фактическую «перейти к». Кто-нибудь знает, как это сделать, не нажимая enter?

1 Ответ

0 голосов
/ 30 апреля 2020

Я думаю, что единственный способ - использовать макрос для запуска команды quickOpen и выбора одним нажатием клавиши.

Используя расширение макроса, например multi-command , поместите это в ваши настройки:

  "multiCommand.commands": [

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

и некоторые привязки клавиш для запуска этого макроса (в ваших сочетаниях клавиш. 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"]
  },
...