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, поэтому такая ассоциация типов файлов повлияет на все проекты. Следовательно, иметь собственное расширение - лучший способ продолжить его.