如何在PhpStorm 9中为Blade模板自动完成变量?

时间:2015-12-07 10:11:22

标签: php laravel phpstorm blade phpdoc

我希望在刀片模板中考虑PHPdoc块。

PhpStorm 9,Laravel 5.1,刀片模板文件:

<?php
/* @var App\Models\User $user */
?>
...
<?= $user->email ?> <- autocomplete for the word "email" is working
...
{{ $user->email }} <- autocomplete not working

我尝试了不同的变体:

{{
/**
* @var App\Models\User $user
**/
}}
{{ /* @var App\Models\User $user */ }}
...
{{ $user->email }} <- autocomplete not working...
...
In such variant autocomplete works, but only within that block:
{{
/* @var App\Models\User $user */
$user->email
}}
...
{{ $user->email }} <- here does not work again...

如何在刀片模板的所有块中使用自动完成功能?

4 个答案:

答案 0 :(得分:5)

ATM PhpStorm不支持​​使用刀片语法的刀片模板中的PHPDoc注释(特别是对于完成刀片变量)。

请按照这些门票(星级/投票/评论)获取进度通知:

答案 1 :(得分:2)

您现在可以按照自己的意愿进行操作:

<?php
/* @var App\Models\User $user */
?>
...
{{ $user->email }} <- autocomplete working

请参阅https://blog.jetbrains.com/phpstorm/2017/02/code-completion-in-laravel-blade-templates/

答案 2 :(得分:1)

截至目前,由于PHPStorm缺乏对Blade模板的支持,因此完全不可能实现这一目标。

此软件包可用于其他与Laravel相关的问题https://github.com/barryvdh/laravel-ide-helper

答案 3 :(得分:0)

几乎相同的答案,只是包装在Blade指令中:

 @php /** @var App\Models\User $user */ @endphp
 {{ $user->email }}