PhpStorm (WebStorm) - 打字稿文件中反引号内带有 HTML 代码的常量在 4120 个字符后变为纯文本。失去语法高亮

PhpStorm (WebStorm) - Constant with HTML code inside backtick in a typescript file becomes plain text after 4120 characters. Loses syntax highlighting

我正在使用 PhpStorm (WebStorm) 使用打字稿构建一个 angular 2 应用程序。我有一个 .ts 文件导出一个常量,该常量具有组件的 HTML(视图)。

PhpStorm (WebStorm) 具有识别 HTML 语法、错误突出显示和反引号 (`) 内编码帮助的超酷功能。我面临的问题是,在 4120 个字符之后,HTML 语法识别停止并且代码变为纯文本。

我找遍了,但没有找到任何东西。这是一个错误吗?也许有一个设置?

4120 个字符,HTML 语法有效:

4121 个字符 HTML 语法无效:

PhpStorm 版本:
PhpStorm 2016.1
构建 #PS-145.258,构建于 2016 年 3 月 16 日
JRE: 1.8.0_40-release-b132 x86_64
JVM:JetBrains 的 OpenJDK 64 位服务器虚拟机 s.r.o

我在 issue tracker 中没有看到任何内容。我可以为 HTML 语言注入重现它(也发生在 PHP 和 JS 中)。当我尝试不同的语言注入时(例如 php 文件中的 SQL),似乎没有限制。

您可以通过转至 设置 > 编辑器 > 语言注入[=50 创建新的语言注入规则=].单击绿色加号按钮。至少提供以下内容。如果您想进一步调整它,请参阅底部的链接:

姓名: (选择姓名)
ID: HTML
地点模式:

+ jsLiteralExpression().withText(string().matchesBrics("(\<\<\<)?.*\</?<anyname>.*>.*"))

另外两个值得了解的快速修复:

  • 语言可以在评论中定义。将以下内容添加到文件的开头:/* language=HTML */

  • 可以临时注入语言。使用字符串中的插入符号,按 Alt + Enter 和 select 插入语言或引用 。然后selectHTML.

参考资料