【问题标题】:PyCharm: HTML Syntax checking and highlighting in Python stringsPyCharm:Python 字符串中的 HTML 语法检查和高亮显示
【发布时间】:2021-04-07 13:35:05
【问题描述】:

例子:

@register.simple_tag
def last_orders(user):
    rows = []
    for order in Order.objects.filter(user=user).order_by('-offer__date'):
        rows.append(format_html('<tr><td>{}</td><td>{}</td><td>{} Eur</td><td class="int col-1">{}</td><td>{} Eur</td></div>',
                                order.offer.date, order.offer.text, order.offer.price, order.amount, order.amount*order.offer.price))
    if not rows:
        return format_html('<div>No orders up to now.</div>')
    return format_html('''Last Orders: 
     <table class="table table-striped">
      <tr><th>Date</th><th>Text</th><th>Price</th><th class="col-1">Amount</th><th>Sum</th></tr>
      {}
     </table>
     ''', join(rows))

PyCharm 是否能够像上面那样在 Python 字符串中进行 HTML 语法检查和高亮显示?

【问题讨论】:

    标签: python html pycharm syntax-highlighting


    【解决方案1】:

    是的! PyCharm 两者都可以...

    要在包含 HTML 的 Python 字符串中同时拥有这两种功能,首先需要使用名为 “语言注入”的 IDE 功能

    在 IDE 的上下文中 “语法检查” 通常称为 “检查”,而 “语法突出显示” 下“配色方案”,如下(与同节中的 Python 条目比较):

    Functionalities IDE path to dialogue
    Syntax checks Settings &gt; Editor &gt; Inspections &gt; HTML
    Syntax highlights Settings &gt; Editor &gt; Color Sheme &gt; HTML

    使用语言注入:

    我在 JetBrains 网站上找到的最佳指南是:"Language injections (for IntelliJ IDEA)",它遵循与guide for the PyCharm IDE 完全相同的步骤,但更详细。 (我也喜欢这个youtube video,它展示了如何为几种不同的语言进行“语言注入”。)

    我使用了以下 Python 代码 separating the string with a backslash \,因为在单独的行上更容易看到语法错误警告:

    # language=HTML prefix=<body> suffix=<body>
    your_python_string = '\
        <body text=""><h1>some header text</h1></body>\
        t<br></br> \
        <dir>\
        '
    

    话虽如此,让我们配置功能:

    首先单击 Python 字符串文本,然后按 Alt + Enter 或单击灯泡弹出窗口;选择“注入语言或参考”,然后选择“HTML”,如下图所示,字符串文字的背景颜色应该改变:

    对 HTML 的语法检查(或检查):

    此时,如果您按 Alt + 6(运行 Inspect Code 会给出额外的警告),应该会有一个带有 HTML 警告和语法检查的停靠窗口。您还将获得 HTML 代码提示:

    语法亮点:

    This dialogue is integrated into the PyCharm per language,在为字符串文字激活 "语言注入" 后,它已经具有 HTML 特定的突出显示,您可以调整配色方案以获得更好的对比度:

    最后的想法:

    PyCharm 针对 HTML 发出的警告显示在下面的屏幕截图中。其他功能associated with HTML files 也可在 HTML 注入字符串中使用。

    【讨论】:

      【解决方案2】:

      @guettli 据我所知,PyCharm 只会将嵌入的 HTML 代码视为字符串,因为在 HTML 代码周围使用了 ' '

      【讨论】:

        猜你喜欢
        • 2017-04-20
        • 1970-01-01
        • 1970-01-01
        • 2022-01-12
        • 2020-11-08
        • 2013-08-09
        • 2015-11-01
        • 1970-01-01
        • 2016-07-13
        相关资源
        最近更新 更多