jinja 文件(.jinja、.j2)的 IntelliJ 语法突出显示

问题描述 投票:0回答:5

问题就在标题中。 IntelliJ 是否有针对

.jinja
.j2
文件的本机语法突出显示?

如果没有的话有插件吗?

intellij-idea jinja2
5个回答
24
投票

此插件: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

    enter image description here

完成此配置后,您的

jinja
文件将在此插件中打开。如果没有,那么
jinja files
一定已经与其他
Recognized File Types
之一关联,在这种情况下,您需要滚动浏览它们以找到罪魁祸首,并将
*.jinja
从其
Registered Patterns
中删除。


24
投票

尝试使用 IntelliJ IDEA Ultimate 的 Python 插件,该插件支持 Jinja2 Templates


15
投票

使用最新版本的 Intellij,您不再需要任何插件。

  • 转至文件 > 设置 > 编辑器 > 文件类型
  • Recognized Files Types
    下,选择 Jinja 2 模板
  • File Name Patterns
    下为 jinja2 添加
    *.j2
    ,和/或为 jinja
     添加 
    *.jinja

对于 Ansible yaml jinja 2 模板:

  • Recognized Files Types
    下,选择 YAML/Ansible
  • File Name Patterns
    下添加
    *.yaml.j2
    *yml.j2

6
投票

只是为了理智。我在之前发布的两个答案的组合中找到了我的解决方案。

除了 @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. 

0
投票

接受的答案建议使用 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
的正确语法突出显示。

© www.soinside.com 2019 - 2024. All rights reserved.