IntelliJ IDEA и обратные кавычки (`)

В нашей среде мы пишем шаблон Javascript, в котором есть области, в которых предварительная обработка сервера вставляет значения в код.

Пример будет выглядеть так:

    var myVarValue = "`serverProcessedVarValue()`";

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

Мы используем IntelliJ IDEA. Он (и, я полагаю, Webstorm) выделяет эти обратные кавычки как ошибку кодирования. Я не могу найти настройку, чтобы изменить это поведение. Есть ли один?

Спасибо!


person stackleit    schedule 28.07.2015    source источник
comment
IntelliJ, вероятно, думает, что вы пишете там допустимый код JavaScript. Это тот случай, когда вы хотите иметь возможность выполнять его как файл JS или он предназначен исключительно для шаблонов?   -  person Makoto    schedule 28.07.2015
comment
Ну, я не уверен, что понял ваш вопрос. Но файл, видимый в среде IDE, должен быть действительным Javascript, за исключением обратных кавычек. Конечно, производственный JS является результатом разбора этого файла на сервере. Итак, я думаю, вы могли бы сказать, что файл в IDE предназначен исключительно для шаблонов. Но его содержимое должно пройти проверку.   -  person stackleit    schedule 29.07.2015


Ответы (2)


Нет такой настройки. IntelliJ IDEA создает полное синтаксическое дерево для редактируемого файла, и все его функции зависят от наличия полного синтаксического дерева. Из-за этого невозможно указать ему игнорировать определенные символы — он не будет знать, как анализировать оставшийся код и как проверять результирующее синтаксическое дерево.

Что вы можете сделать, так это либо написать подключаемый модуль для синтаксического анализа вашего конкретного варианта JavaScript с помощью шаблонов, либо изменить используемый синтаксис, чтобы он соответствовал одному из языков шаблонов, уже поддерживаемых IntelliJ IDEA.

person yole    schedule 29.07.2015

Обратная галочка поддерживается в ES6 для многострочной строки, а в WebStorm есть настройки «языковой версии JavaScript». Изменение его на ES6 изменит это поведение.

person arm5472    schedule 05.11.2015