如何使PhpStorm解释自定义分隔符?
我在我的Symfony应用程序中使用Ractive模板 由于我的Ractive模板位于.twig文件中,我不能在我的Ractive值周围使用大括号,所以我使用Ractive的 例如,如何使PhpStorm解释自定义分隔符?,phpstorm,brackets,jetbrains-ide,ractivejs,Phpstorm,Brackets,Jetbrains Ide,Ractivejs,我在我的Symfony应用程序中使用Ractive模板 由于我的Ractive模板位于.twig文件中,我不能在我的Ractive值周围使用大括号,所以我使用Ractive的 例如,{{text}变成[[text]]] 它工作得很好,但我的问题是PhpStorm无法将括号识别为模板值,这会导致一些恼人的后果: 没有语法着色,缩进混乱,并且在不应该出现的地方有警告 如何使PhpStorm将双括号解释为模板值? 编辑:代码示例: <script type="text"> $(f
{{text}
变成[[text]]]
它工作得很好,但我的问题是PhpStorm无法将括号识别为模板值,这会导致一些恼人的后果:
没有语法着色,缩进混乱,并且在不应该出现的地方有警告
如何使PhpStorm将双括号解释为模板值?
编辑:代码示例:
<script type="text">
$(function () {
var a = new Analytics();
a.site = '{{ site.id }}'; {# Twig #}
a.run();
});
</script>
{# Below is ractive #}
<table class="table">
<tr class="general">
<th></th>
[[#each columns: i]]
[[#if stats]]
<th>[[trans('column.' + columns[i])]]</th>
[[/if]]
[[/each]]
</tr>
[[> totalLine]]
[[#each templates: t]]
[[> templateLine]]
[[/each]]
</table>
$(函数(){
var a=新分析();
a、 site='{site.id}}'{{#Twig}
a、 run();
});
{#下面的内容很吸引人}
[#每列:i]]
[[if stats]]
[[trans('列'.+列[i])]]
[/if]]
[/每个]]
[>Totaline]]
[#每个模板:t]]
[>templateLine]]
[/每个]]
这是一个示例
真正的问题(“X问题”)是抽象语法,特别是{{}}
,被解析器视为细枝。这可以通过在一个部分周围包裹Ractive模板来解决,以防止细枝将该Ractive模板视为细枝
“Y问题”源于你试图解决“X问题”。也就是说,使用自定义分隔符时IDE语法高亮显示
Ractive模板上突出显示的{{}
语法之所以有效,是因为Twig的语法涉及{}
。然而,突出显示对Ractive一无所知。碰巧这两种语言都以类似的方式使用{{}
,语法高亮者认为它是细枝。。。还有像树枝一样的样式
此外,大多数IDE(如果不是所有IDE的话)只支持单语言高亮显示。由于您的文件被视为细枝模板,因此它会突出显示细枝。是否支持多语言语法突出显示由您的IDEs供应商决定,对此您无能为力(当然,除非您自己制作插件)。这是一个示例
真正的问题(“X问题”)是抽象语法,特别是{{}}
,被解析器视为细枝。这可以通过在一个部分周围包裹Ractive模板来解决,以防止细枝将该Ractive模板视为细枝
“Y问题”源于你试图解决“X问题”。也就是说,使用自定义分隔符时IDE语法高亮显示
Ractive模板上突出显示的{{}
语法之所以有效,是因为Twig的语法涉及{}
。然而,突出显示对Ractive一无所知。碰巧这两种语言都以类似的方式使用{{}
,语法高亮者认为它是细枝。。。还有像树枝一样的样式
此外,大多数IDE(如果不是所有IDE的话)只支持单语言高亮显示。由于您的文件被视为细枝模板,因此它会突出显示细枝。是否支持多语言语法突出显示是由您的IDE供应商决定的,对此您无能为力(当然,除非您自己制作插件)。我也有同样的问题,与VueJS和Twig花括号有关 我找到的唯一解决方案是使用tab按钮自动完成
[[
构造,使其显示为[[[u]]]]
我也有同样的问题,关于VueJS和Twig花括号 我找到的唯一解决方案是使用tab按钮自动完成
[[
构造,使其显示为[[[u]]]]
所以..模板中有模板,对吗?“正常”模板由服务器端的Twig处理..然后在客户端/浏览器中,内部模板被另一个引擎处理/使用…这一切都很好。不过,如果能看到这样的示例代码(我可以在测试项目中复制粘贴并使用它的文件)就好了1) 我只是不认为IDE支持这样的“模板内模板”处理,即使这两个模板引擎是分别支持的(例如,通过单独的插件:细枝和把手/胡子)。我猜因为2)把手/胡子插件(例如)没有选项页。所以你无法配置要使用的大括号(与Twig相同;只有Blade/Smarty有这样的定制)。我想,除了上述票据(也检查相关票据)之外,您还会对这些票据感兴趣:1)2)非常感谢,顺便说一句,我添加了一个代码示例,文件名是什么(主要是扩展名)您正在使用--file.html.twig?这样..模板中有模板,对吗?“正常”模板由服务器端的twig处理..然后在客户端/浏览器中,内部模板由另一个引擎处理/使用..这一切都很好。不过看到这样的示例代码会很好(一个我可以在我的测试项目中复制粘贴并使用的文件)1)我只是不认为IDE支持这样的“模板内模板”处理,即使两个模板引擎是分别支持的(例如,通过单独的插件:树枝和把手/胡子)。我猜是因为2)把手/胡子插件(例如)没有选项页..因此您无法配置要使用的大括号(与Twig相同;只有Blade/Smarty有这样的自定义)。我想,除了上述票据(也检查相关票据)之外,您还会对这些票据感兴趣:1)2)非常感谢,顺便提一下,我添加了一个代码示例文件名(主要是扩展名)您正在使用--file.html.twig之类的东西?实际上,X问题并不是一个真正的问题,而是一个事实:我使用自定义分隔符,我无法更改它们,因为这是一个大型团队项目,而不是个人项目。I c