Как создать параметрический сниппет в VS Code?

Здравствуйте!
Хотелось бы узнать, каким образом можно реализовать сниппет, в котором имеются параметры. Я хочу создать матрицу n * m элементов, чтобы я набрал mat -> 3 -> 5 и создался код, в котором будет 3 строчки и 5 столбцов. И уже спокойно мог бы переключать по элементам матрицы.

Я знаю как реализовывать статическик сниппеты. Но с помощью какого инструмента можно задавать параметрические шаблоны?
Накопал про Hyper snippets, но возможно ли обойтись встроенными сниппетами? Потому что Hypersnip почему-то очень сильно тормозит VS Code .
  • Вопрос задан
  • 226 просмотров
Пригласить эксперта
Ответы на вопрос 1
@igaraja Автор вопроса
Нашёл ответ:
1. Устанавливаем HyperSnips
2. Создаём файл (для Ubuntu 22.04) в /home/user/.config/Code/User/hsnips/ файл latex.hsnips и вставляем в него содержимое:

snippet `M([1-9])x([1-9])` "matrix" A
``rv = '\\begin{pmatrix}'``
``count = 1;
mi = 0;
mj = 1;
msg = '';

for (i=0; i < parseInt(m[1],10); i++) {
  mi++;
  msg +=  mi;
  msg += mj;
  count++;
  for (j=1; j < parseInt(m[2],10); j++) {
    mj++;
    msg += '&\t' + mi + mj;
    count++;
  }
  mj = 1;
  if (i != parseInt(m[1],10)-1) {
    msg += ' \\\\\\ \n';
  }
}
rv = msg;``
\\end{pmatrix}
endsnippet

4. В VS Code - Ctrl + Shift + P -> HyperSnips: Reload Snippets
3. В файле с расширением .tex пишем M7x7+tab и получаем матрицу 642dccef61c45878428010.png

Путь хранения файлов можно поменять в настройках:
642dce0804a31987002306.png

К сожалению, я так и не понял, как реализовать переключение по элементам. Было бы здорово, если бы кто-то подсказать, как реализовать в данном коде по смыслу переменную, которая была бы $count. То есть табом переключаться по элементам
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы