PHPStorm自动完成树枝变种

时间:2014-10-09 09:18:48

标签: php laravel phpstorm

我在PHP项目中使用PHPStorm 8.1作为IDE(在视图侧使用twig 4.1项目)

在“twig side”上对变量进行自动完成提示会很棒,就像你可以在这个phpstorm插件中看到symfony2一样:
http://symfony2-plugin.espend.de/languages/twig/index.html#phptypes

基本上在我的twig视图中,我使用注释声明了var“type”,然后我会在我的模型(farmaco)上看到提示:

   {# farmaco \Farmaco #}
   {% farmaco.  %} <-- I would see hints -->

注意:我没有使用Symfony,但是我安装了symfony插件,但自动完成功能对我的laravel项目的twig文件不起作用。

1 个答案:

答案 0 :(得分:41)

您似乎错过了@var注释。 正确的形式是:

{# @var foo \FooService #}
{{ foo. }} <!-- press CTRL+SPACE for typehints -->

我让这个非symfony项目没有问题。请务必检查实际为项目启用了symfony插件(默认情况下不是这样),并在启用后重新启动IDE。

还要确保类型提示指向fully qualified class name

作为旁注,我有(还)将其用于属性,即foo.bar.*当通过魔法访问属性时(使用__get)。对于这些实例,需要将属性放入自己的变量中:

{# @var foo \FooService #}
{{ foo.bar. }} <!-- no typehints for bar :-( -->
{% set bar = foo.bar %}
{# @var bar \BarService #}
{{ bar.  }} <!-- press CTRL+SPACE for typehints :-) -->