Как создать пользовательские фрагменты с привязкой к ключу в VS Code - PullRequest
0 голосов
/ 25 июня 2019

Я большой пользователь Sublime Text и узнал, как повысить свою производительность, используя настройки в Sublime text.Но поскольку VScode становится популярным день ото дня, я хотел проверить, есть ли способ привязать сочетания клавиш к пользовательским действиям.

Например, я выбираю слово ABC в любом файле в VSCode и нажмите CTRL + B, и он поместит мои собственные определенные значения вокруг него, как это должно стать

<b>ABC</b>

Я создал следующий фрагмент в Sublime Text, который, когда я писал в Visual StudioКод - keybindings.json ничего не работает.

{
    "keys": [
        "ctrl+b"
    ],
    "command": "insert_snippet",
    "args": {
        "contents": "<b>${0:$SELECTION}</b>"
    }
}

1 Ответ

1 голос
/ 25 июня 2019

Это будет работать в вашем keybindings.json:

{
    "key": "ctrl+b",
    "command": "editor.action.insertSnippet",
    "when": "resourceExtname == .html",         // this is optional
    "args": {
      "snippet": "<b>${TM_SELECTED_TEXT}</b>"
    }
},

Необязательное условие when - если вы хотите ограничить работу фрагмента .html файлами.

Однако более общим является использование встроенной команды emmet: Emmet: Wrap with Abbreviation в палитре команд. Выделите свой текст, откройте палитру команд, найдите эту команду и запустите ее - введите b или любой другой элемент, и он обернет выделенный текст открывающими и закрывающими элементами.

[Обратите внимание, что команда workbench.action.toggleSidebarVisibility уже привязана к Ctrl - B , но приведенный выше фрагмент кода имеет приоритет - это означает, что вы потеряете связывание клавиш toggleSidebarVisibility функциональность - что может быть приемлемо для вас?]

...