Активированный регулярными выражениями фрагмент в VSCode - PullRequest
0 голосов
/ 21 апреля 2020

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

\begin{environment}

VSCode автоматически вставит

\end{environment}

Или, в другом примере, наберет

{% block jinjablock %}

приводит к

{% endblock jinjablock %}

Для любых значений environment или jinjablock.

Это, кажется, уже вещь, поскольку завершение тега работает, когда я набираю XML / HTML тэги, но я бы хотел расширить их произвольно. РЕДАКТИРОВАТЬ: Уточненные примеры

1 Ответ

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

Вероятно, проще всего go с фрагментами здесь. В одном из ваших файлов фрагментов:

"complete begin/end tags": {
    // "scope": "",  // put your language mode here, like javascriptreact, etc.
    "prefix": "\\begin",
    "body": [
        "\\begin{${1:environment}}",
        //  "",   // if you want an empty line between the blocks in the output
        "\\end{$1}"
    ],
    "description": "\\begin \\end"
},

"complete block/endblock tags": {
    // "scope": "",// put your language mode here, like javascriptreact, etc.
    "prefix": "%",
    "body": [
        "{% block ${1:jinjablock} %}",
        "{% endblock $1 %}"
    ],
    "description": "{% block {% endblock"
},

Перезагрузите vscode после внесения этих изменений!

complete blocks

Как вы можете видеть в demo, иногда vscode не может распознать просто % в качестве префикса фрагмента. Поэтому я набрал Ctrl + Пробел , чтобы вызвать предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...