Ярлык VSCode / расширение для предопределенной замены текста? - PullRequest
0 голосов
/ 07 января 2020

Я маркирую набор текстовых данных для распознавания именованных объектов. Рассмотрим следующий пример:

{team:Alfreton Town} manager {manager:Nicky Law} says his players deserve huge credit for the character they have shown in their {league:Blue Square Bet Premier} relegation fight.

Я должен найти все объекты различных типов и добавить их в префикс и суффикс категории. То, что я хотел бы сделать, это предопределить пару ярлыков, например:

  • Meta + T заменяет выделенный текст $s на {team:$s}
  • Meta + P заменяет выделенный текст $s с {player:$s}

Я не очень знаком с расширениями VScode. Есть ли какой-нибудь плагин, который позволял бы определять такие замены?

1 Ответ

2 голосов
/ 07 января 2020

Вам не нужно расширение для этого. Вы можете определить фрагмент, который заменяет некоторый выделенный текст чем-то другим (включая выделенный текст). См. здесь для получения дополнительной информации об этом.

Например, с этим фрагментом

"Replace selection eith {team:Selection}": {
        "body": "{team:$TM_SELECTED_TEXT}",
        "prefix": "Selection",
        "description": "Insert hehehe"
    }

Вы можете выделить жирный текст в

Alfreton Town менеджер Никки Лоу говорит, что его игроки заслуживают огромного уважения за персонажа, которого они показали в своем бою за понижение ставки на Blue Square Bet.

Затем ctrl + shift + p , напишите «Вставить фрагмент» и выберите новый определенный фрагмент. Тогда вы получите

{команда: Alfreton Town} менеджер Никки Лоу говорит, что его игроки заслуживают огромного уважения за персонажа, которого они показали в своем бою за вылет на Blue Square Bet Premier.

Вы также можете определить сочетания клавиш для фрагментов, и вы фактически поместите тело фрагмента непосредственно в определение привязки клавиш (в этом случае нет необходимости изменять файл фрагментов). Для этого откройте файл сочетаний клавиш json и поместите в него следующий код

{
    "key": "ctrl+meta+t",
    "command": "editor.action.insertSnippet",
    "when": "editorTextFocus",
    "args": {
        "snippet": "{team:$TM_SELECTED_TEXT}"
    }
}

Теперь вы можете выделить текст и использовать ctrl + meta + t и выбранный текст будет заменен на {team:selected text}. Вы можете легко сделать то же самое для других случаев, таких как ctrl + meta + m для менеджера или любой другой привязки клавиш, которую вы предпочитаете.

...