<script> 元素内容的自定义语法突出显示取决于 IntelliJ IDEA 中的类型属性
Custom syntax highlighting for content of <script> elements depending on type attribute in IntelliJ IDEA
在IDEA中,编辑HTML文件时,<script>
元素的文本内容会被IDE根据[=12]区别对待=] 属性。例如,<script type="text/javascript">
元素的文本内容被视为 Javascript 并照此突出显示; <script type="text/css">
和 CSS、<script type="application/json">
和 JSON 以及其他类似。
如何配置自定义 <script type="...">
语言关联?
具体来说,我希望 IDEA 将 "x-shader/x-fragment"
类型的脚本元素的文本内容视为 GLSL。我安装了 GLSL 语言插件,但它只突出显示 .glsl
个文件。我正在使用 IntelliJ IDEA 14.0.3.
注意:与其他 HTML 元素不同,Inject Language/Reference 元素的内容没有选项。
您无法配置它,但在 GLSL 插件中修复它很简单。在用于 GLSL (here) 的语言 class 中,"x-shader/x-fragment" MIME 类型需要作为第二个参数传递给基础 class 构造函数。
Yole 的答案可能最适合您的用例,但我实际上 运行 遇到了类似的问题,其中 Intellij 没有像我想要的那样将 "text/babel" 视为 "text/jsx"。
如果您不介意将脚本内容移动到另一个文件,您可以这样做:
<script type="x-shader/x-fragment" src="your_script.glsl"></script>
当然,当您编辑文件时,您会得到正确的语法突出显示。
在IDEA中,编辑HTML文件时,<script>
元素的文本内容会被IDE根据[=12]区别对待=] 属性。例如,<script type="text/javascript">
元素的文本内容被视为 Javascript 并照此突出显示; <script type="text/css">
和 CSS、<script type="application/json">
和 JSON 以及其他类似。
如何配置自定义 <script type="...">
语言关联?
具体来说,我希望 IDEA 将 "x-shader/x-fragment"
类型的脚本元素的文本内容视为 GLSL。我安装了 GLSL 语言插件,但它只突出显示 .glsl
个文件。我正在使用 IntelliJ IDEA 14.0.3.
注意:与其他 HTML 元素不同,Inject Language/Reference 元素的内容没有选项。
您无法配置它,但在 GLSL 插件中修复它很简单。在用于 GLSL (here) 的语言 class 中,"x-shader/x-fragment" MIME 类型需要作为第二个参数传递给基础 class 构造函数。
Yole 的答案可能最适合您的用例,但我实际上 运行 遇到了类似的问题,其中 Intellij 没有像我想要的那样将 "text/babel" 视为 "text/jsx"。
如果您不介意将脚本内容移动到另一个文件,您可以这样做:
<script type="x-shader/x-fragment" src="your_script.glsl"></script>
当然,当您编辑文件时,您会得到正确的语法突出显示。