Заполнители кода Visual Studio для фрагментов не работают должным образом при преобразовании с помощью регулярных выражений - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь создать некоторые фрагменты BibTeX для Visual Studio с преобразованием некоторых переменных / заполнителей с помощью Regex.

В настоящее время мои фрагменты статьи выглядят так:

"Article Reference": {
"prefix": "article",
"body": [
    "@ARTICLE{${10:${1/([^\\s]+)(?:\\s)(?!and|\\$)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}$2${3/(\\s[^\\s]*)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}},",
    "\tauthor = {${1:author}},",
    "\tyear = {${2:year}},",
    "\ttitle = {${3:title}},",
    "\tjournal = {${4:journal}},",
    "\tpages = {${5:pages}},",
    "\tnumber = {${6:number}},",
    "\tvolume = {${7:volume}},",
    "\tmonth = {${8:month}},",
    "\tnote = {${9:An optional note}},", 
    "}$0"
  ]
}

Итак, когда я ввожу что-то вроде:

author = {Nice Guy and Cool Person},
year = {2015},
title = {Really Nice Work}

Мой ключ будет выглядеть так:

GuyPerson2015Really

И это на самом деле происходит.

Проблема, с которой я столкнулся, заключается в том, что я хотел, чтобы этот ключ был заполнителем для последнего входа (10 долларов), чтобы я мог ввести свой собственный ключ в случае, если захочу, но когда регулярное выражение преобразует, скажем, 1 доллар. (автор) заполнитель, он перестает быть частью табуляции $ 10, означая, что я могу заменить только часть годовой части ключа

GuyPersonEditedKeyPortion

Пока желаемым будет

EditedKeyPortion

PS: Я обнаружил, что если я помещаю какую-либо вещь перед $ {1, все $ 10 становятся доступными для редактирования, даже если это нежелательно. Итак, мне нужно это поведение, но без "_":

"@ARTICLE{${10:_${1/([^\\s]+)(?:\\s)(?!and|\\$)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}$2${3/(\\s[^\\s]*)|([\\s\\\\\\{\\}])|(?<=\\\\).//g}},", 
...