【问题标题】:PhpStorm PhpUnit via phar autocomplete not working通过 phar 自动完成的 PhpStorm PhpUnit 不起作用
【发布时间】:2015-01-30 10:41:50
【问题描述】:

我有 PHPStorm 8.0.1。

PHPUnit 是通过 PHAR 存档安装的,例如:

wget https://phar.phpunit.de/phpunit.phar
chmod +x phpunit.phar
sudo mv phpunit.phar /usr/bin/phpunit

PHPUnit 通过 cli 工作:

user@pc:/usr/bin$ cd ~
user@pc:~$ phpunit --version
PHPUnit 4.3.5 by Sebastian Bergmann.

我按照 JetBrains 网站 https://www.jetbrains.com/phpstorm/webhelp/enabling-phpunit-support.html#d298258e897 的说明进行操作

在 PHPStorm File->Settings 选项卡 PHP/PHPUnit 单选按钮Path to phpunit.phar 被选中 并且值设置为/usr/bin/phpunit

我有一个文件,其测试定义如下:

class MyTest extends PHPUnit_Framework_TestCase {
...

此时PHPStorm标记Undefined class PHPUnit_Framework_TestCase

我已经重启了 PHPStorm 和 Computer,但仍然有同样的问题。

我也尝试添加/usr/bin 以包含路径(在项目视图中右键单击外部库,然后选择选项Configure PHP include paths)但没有成功。

这是 PHPStorm 设置的配置,选项卡 PHP(如果重要):

PHP Language level: 5.5 (finally, generators, etc.)
Interpreter: PHP 5.5 (5.5.9-1ubuntu4.5)
Include path is empty

【问题讨论】:

  • 如果它是一个 PHAR 文件,那么它应该有 .phar 扩展名——不幸的是,这是一个要求。只需将 phpunit.phar 放在项目中的任何位置 - IDE 就可以对其进行索引。
  • 有没有办法不将该文件包含在项目中,并以某种方式从另一个位置读取它(带有 phar 扩展名)?
  • 使用符号链接。或者将副本(或符号链接)放在单独的文件夹中,并通过“包含路径”功能引用该文件夹
  • 谢谢。有效。我将 /usr/bin/phpunit 符号链接到 ~/phpUnitReference/phpunit.phar,然后将该目录添加到包含路径,现在它可以工作了。我的印象是 PHPStorm 有一种自动引用 phpUnit 的方法,但这也有效。再次感谢。你想回答一下,我可以接受吗?

标签: autocomplete phpunit phpstorm


【解决方案1】:

为了让 IDE 索引 PHAR 存档,它必须具有 .phar 扩展名(这是一项要求)。

最简单的解决方案是将phpunit.phar 放在项目中的某个位置(通常是PROJECT_ROOT/vendor/ 文件夹)。

如果不需要本地副本(无论出于何种原因;尽管 composer 和其他类似类型的工具(bower/npm/etc)主要旨在将依赖项/包保存在本地),您可以使用 符号链接:要么在本地创建指向该文件的符号链接(例如 PROJECT_ROOT/phpunit.phar --> /usr/bin/phpunit).. 要么将完整副本(或此类符号链接)放在 单独的文件夹 某处在您的磁盘上,然后通过 PhpStorm 的 Settings | PHP | Include Paths 功能引用它。

【讨论】:

  • 这似乎是解决方案,但对我来说它不起作用,可能是因为 PhpStorm 中的错误。我所做的修复它是右键单击 .phar 并单击“从项目中排除 phar”,然后再次单击“将 phar 包含到项目中”。
【解决方案2】:

Calin 的上述修复在 PhpStorm 2019.1.1 上也对我有用,因此我将其作为答案发布,以便于查看:

尝试右键点击 .phar 并点击“Exclude phar from project”,然后点击“Include phar into project”刷新它。

就我而言,.phar 文件和我的.idea 文件夹都是从 git 提交中提取的。我猜 PhpStorm 没有意识到该文件需要重新导入。

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 2016-10-30
    • 2021-03-16
    • 2021-08-12
    • 1970-01-01
    • 2013-02-16
    • 2017-11-12
    • 1970-01-01
    • 2021-10-27
    相关资源
    最近更新 更多