VS Code — привязки клавиш — положение курсора для команды *type*

Я использую версию кода VS: 1.40.0.

для ускорения моей разработки мне нужно было бы установить свою собственную привязку клавиш для ввода определенного текста ("{|print_x}") в код. Мне это удалось, но еще лучше было бы, если бы курсор типа прыгал сразу после "{", как только я вставлял текст.

Итак: { здесь введите curosor |print_x}.

Код в keybindings.json:

 { 
    "key": "shift+alt+y", 
    "command": "type",
    "args": { "text": "{|print_x}", },
    "when": "editorTextFocus" 
}

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

   "args": { "text": [ "{" , "|print_x}" ], }

Есть ли способ сделать это? Если да, то буду очень благодарен.


person Marťas David    schedule 13.11.2019    source источник


Ответы (1)


Просто используйте эту форму вместо этого:

 { 
    "key": "shift+alt+y",
    "command":  "editor.action.insertSnippet",
    "args": {
      "snippet": "{$1print_x}"
    },
    "when": "editorTextFocus" 
  }

Поскольку здесь используется команда insertSnippet, теперь вы можете использовать табуляции или преобразования переменных прямо в привязке клавиш без отдельного фрагмента. Таким образом, курсор переместится туда, где он $1.

insertSnippet может делать то же, что и команда type, и дает вам позиции табуляции.

person Mark    schedule 13.11.2019
comment
Замечательно. Большое спасибо, это именно то, что мне было нужно. Где я могу найти более подробную информацию о сочетаниях клавиш и их настройке? Есть code.visualstudio.com/docs/getstarted/keybindings, конечно, помогло разобраться в настройках биндингов клавиш, но там не так много подробностей. - person Marťas David; 14.11.2019
comment
На самом деле, я не знаю другого источника информации о сочетаниях клавиш, кроме этой цитаты и SO. Извиняюсь. - person Mark; 14.11.2019