Создание фрагментов кода в Visual Studio Code с использованием EBNF - PullRequest
0 голосов
/ 07 июня 2018

Здесь говорят, что мы можем генерировать код, используя EBNF, но я не понимаю, как, кажется, он принимает только JSON.Кто-нибудь знает, как это сделать?
Заранее спасибо.

1 Ответ

0 голосов
/ 29 июня 2018

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

они задокументировали что-то вроде:

Нижеявляется EBNF (расширенная форма Бэкуса-Наура) для фрагментов

И затем .. они дали EBNF для фрагментов.

any         ::= tabstop | placeholder | choice | variable | text
tabstop     ::= '$' int | '${' int '}'
placeholder ::= '${' int ':' any '}'
choice      ::= '${' int '|' text (',' text)* '|}'
variable    ::= '$' var | '${' var }'
                | '${' var ':' any '}'
                | '${' var '/' regex '/' (format | text)+ '/' options '}'
format      ::= '$' int | '${' int '}'
                | '${' int ':' '/upcase' | '/downcase' | '/capitalize' '}'
                | '${' int ':+' if '}'
                | '${' int ':?' if ':' else '}'
                | '${' int ':-' else '}' | '${' int ':' else '}'
regex       ::= JavaScript Regular Expression value (ctor-string)
options     ::= JavaScript Regular Expression option (ctor-options)
var         ::= [_a-zA-Z] [_a-zA-Z0-9]*
int         ::= [0-9]+
text        ::= .*

Он говорит, что является возможной комбинацией, и ключевые словакоторые принимаются Фрагментом.Это действительно формат JSON, который я могу сказать, посмотрев на EBNF.На данный момент создание фрагмента ограничено этим.мы не можем генерировать расширенный фрагмент в текущем выпуске (Версия 1.24).

Пожалуйста, прочитайте документ, чтобы получить дополнительную информацию о том, как создать новый фрагмент с заданными переменными и логикой замены.Спасибо.

...