问题就在标题中。 IntelliJ 是否有针对
.jinja
和 .j2
文件的本机语法突出显示?
如果没有的话有插件吗?
此插件:https://plugins.jetbrains.com/plugin/7792-yaml-ansible-support提供对jinja
文件的
some支持。
确保此插件与
jinja
文件关联:
File > Preferences > Editor > File Types
Recognized File Types
下,向下滚动到 YAML/Ansible
并选择它在
Registered Patterns
下单击 +
图标并输入 *.jinja
。
完成此配置后,您的
jinja
文件将在此插件中打开。如果没有,那么 jinja files
一定已经与其他 Recognized File Types
之一关联,在这种情况下,您需要滚动浏览它们以找到罪魁祸首,并将 *.jinja
从其 Registered Patterns
中删除。
使用最新版本的 Intellij,您不再需要任何插件。
Recognized Files Types
下,选择 Jinja 2 模板File Name Patterns
下为 jinja2 添加 *.j2
,和/或为 jinja添加
*.jinja
对于 Ansible yaml jinja 2 模板:
Recognized Files Types
下,选择 YAML/AnsibleFile Name Patterns
下添加 *.yaml.j2
和 *yml.j2
只是为了理智。我在之前发布的两个答案的组合中找到了我的解决方案。
除了 @Andrei 所说的 Python 插件之外,还需要识别文件扩展名,如上面 @glytching 所解释的:
File > Preferences > Editor > File Types
,对我来说,模式 *.j2
丢失了。
最好的做法是将目录标记为
Template
,如@Andrei给出的引用的模板链接上的定义模板目录部分所述:
1. In the Settings/Preferences dialog, click the Project Structure page.
2. Choose the directory to be marked as a template root.
3. Do one of the following:
* Click Templates on the toolbar of the Content roots pane.
* Choose Templates on the directory's context menu.
接受的答案建议使用 YAML/Ansible,但该插件已停止在 2020 年之后对未来版本的积极开发。因此,当前的工作解决方案是根据您正在使用的 JetBrains IDE 使用另一个插件。对于 PyCharm 和 Ultimate IDE,Python 插件 (https://plugins.jetbrains.com/plugin/631-python) 将起作用。对于其他人来说,Twig(https://plugins.jetbrains.com/plugin/7303-twig)插件是一个救星。它默认包含在 PhpStorm 中。 如果您的文件类型不是 INI、YAML 等常见类型,您可能仍然会遇到语法不起作用的问题。例如,如果您有一个文件
php-fpm.conf.j2
,突出显示仍然无法开箱即用。仅当您将 *.conf
之类的扩展名包含到插件支持的已识别文件类型(例如 .ini
)中时,它才会起作用。因此,您需要转到接受的答案显示的相同文件类型设置,并将 *.conf
添加到 INI 识别的文件类型。然后 php-fpm.conf.j2
将开始显示 Jinja 和文件子扩展名 .conf
的正确语法突出显示。