PhpStorm中的预言自动完成


Prophecy autocomplete in PhpStorm

我在PHPUnit测试中使用PhpStorm和Prophecy。

我使用了插件PHPUnit自动完成助手,它运行良好,直到我更新到PhpStorm 2016.1.1。插件被禁用,此消息显示在PhpStorm启动:上

以下插件与当前IDE版本不兼容:PHPUnit Autocomplete Assistant

作者有一周没有回答他的GitHub问题,所以我开始寻找替代方案,但找不到。如果没有这样的插件,PHPStorm中的预言是不愉快的-你的编辑器充满了警告,没有自动完成等等。

你知道PHPStorm和Prophecy的其他工具吗?

我在gitHub上分叉了repo并修复了代码-我的合并请求是打开的。

直到您可以使用:https://github.com/shopfe/phpuaca/releases/tag/1.3.2-beta

向致以最良好的问候

如果您使用PhpStorm 2016.2+,您可以在./.phpstorm.meta.php/prophecy.meta.php下的项目根目录中创建一个文件,内容如下:

<?php
namespace PHPSTORM_META {
    override('PHPUnit'Framework'TestCase::prophesize(0),
        map([
            '' => '@',
        ])
    );
}

在那之后(也许也是在重启PhpStorm之后),自动完成预言会像符咒一样工作:

PhpStorm与预言和元文件的自动完成示例

注意,对于PHPUnit,extends TestCase而不是缺少名称空间的版本。

有关此PhpStorm功能的更多信息,您可以在此处获取:PhpStorm高级元数据

目前最好的插件是PHPUnit增强,它为PHPStorm中的预言提供了惊人的支持。这是一个开源项目,与最新的PHPStorm版本配合得很好。我无法想象在没有它的情况下写任何测试,因为我使用了预言&PHPUnit广泛使用。