PyCharm: выделение для пользовательского типа файла

Можно ли в PyCharm определить пользовательские правила для подсветки синтаксиса для файлов, которые объединяют синтаксис из двух разных языков?

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

<html>
<p></p>
<script type="text/python">
  v = "something"
</script>
<br />
<script type="text/python">
  print v
</python>
</html>

Бонусные баллы за то, что работа кода завершена.

Обратите внимание, что функции расширения "IntelliLang" не подходят, так как во втором блоке он не будет видеть переменные, объявленные в предыдущих блоках.

1 ответ

Я нашел блог от jetbrains, в котором подробно описано, как это сделать, и он будет работать на других языках, а также в PyCharm (как отмечается, он работает в большинстве их IDE). Это пример наличия PHP внутри javascript, но он также должен работать для вас.

Подсветка синтаксиса - здесь есть краткое объяснение того, что нужно делать, а также есть ссылка, которая ведет к полноценному учебнику по их слиянию: Полный учебник

Небольшой фрагмент полного урока, в котором вам нужно будет создать собственное расширение файла, чтобы он мог читать на обоих / нескольких языках, говорит:

Шаг 2. Свяжите новый тип файла с PHP (или другим языком)

Нам нужно связать новый тип файла (*.js.php) с PHP (в нашем случае) в Настройках | Типы файлов. Если вы не хотите использовать такое пользовательское расширение, вам придется назначить полное имя файла в качестве шаблона, что не рекомендуется.

Обратите внимание, что этот параметр распространяется на всю среду IDE, поэтому такая ассоциация типов файлов повлияет на все проекты. Следовательно, иметь собственное расширение - лучший способ продолжить его.

Другие вопросы по тегам