如何在PhpStorm中找到未使用的常量?

时间:2018-06-15 22:29:10

标签: php laravel phpstorm constants

我曾经在PhpStorm中获得任何未使用的常量或类常量的亮点。

现在我再也无法恢复工作了。也许这是一个插件,我不确定。

我尝试了什么:

  • 我试图运行代码检查器
  • 我尝试使用phpmd(PHP代码混乱检测器)并尝试过PHP CodeSniffer
  • 我尝试过PHP Inspections(EA Extended)

声明/未使用的常量的亮点,用于在不运行任何检查或命令的情况下自动显示。

5 个答案:

答案 0 :(得分:1)

不是您想要的答案,但是从开始这是不可能的。 1

我仔细检查了插件存储库和检查选项,找不到适合此特定请求的任何内容。

目前唯一可以实现此目的的方法是给您的常量一个private修饰符,如下图所示:

,此方法并非完全理想,因为它使用的是private而不是const(更不用说,您可能想全球化所讨论的const)。 / p>

第二种选择是创建一个自定义检查设置插件并对其进行定义,这并不理想。

1 我已经创建了一个功能请求,并且随着这个赏金的宣传,可能有可能实现此功能,您可以找到功能请求here并对其进行投票

答案 1 :(得分:0)

您可以在settings > Editor > Inspections

中更改所有属于PHP的检查

enter image description here

现在,当在函数中时,定义一个不使用的变量或函数具有一个未使用的参数,Phpstorm显示警告: enter image description here

enter image description here

答案 2 :(得分:0)

PhpStorm能够通过未使用的声明检查立即突出显示整个项目中未使用的类,方法和字段。

对于运行检查,有用的链接是:https://www.jetbrains.com/help/phpstorm/running-inspections.html

答案 3 :(得分:0)

我已经使用PhpStorm很长时间了,但是我从未听说您可以突出显示未使用的常量或方法。甚至phpstorm的开发人员都确认了这一点。 但是,您可以通过两种方式完成类似的任务。

私有访问修饰符

Script47那样,PhpStorm检查是否使用了该特定变量,常量,方法,因为您只能在同一类中使用私有访问修饰符。 enter image description here

单独进行

您可以检查每个变量是否单独使用了该特定变量,常量,方法。

步骤:

  1. 单击要检查的变量,常量,方法。
  2. Ctrl + Alt + 7 或转到编辑->查找->显示用法

如果您知道代码中的任何地方都没有使用它。

enter image description here

对于 javascript ,您可以轻松实现。默认情况下,PhpStorm突出显示未使用的变量和方法:

enter image description here enter image description here

如果您能找到更好的解决方案,请发布答案,我也需要这个:)

答案 4 :(得分:0)

PhpStorm或任何其他IDE不能确定100%使用属性或常量,因为它们只能执行脚本检查,而不能进行功能检查。

在某些情况下无法确定用法。

  1. $obj->{$propertry}一样动态访问属性/方法。
  2. 对属性使用魔术方法_get()_set()
  3. 使用用户定义的函数call_user_func_array()调用方法。
  4. 使用constant()函数获取常量。

您可以执行多个步骤来查找常量的用法。

  1. IDE的用法功能,它将为该类提供常量的硬编码用法,以及从其父/子类继承的用法。
  2. 您可以像::<YOUR_CONSTANT>这样在项目中进行完整的文本搜索,它将为您提供该常数的完整用法。
  3. 如果您有更好的代码覆盖率测试,则可以从类及其父类中删除常量,以查看是否失败。
  

仅对于private变量,phpstorm可以突出显示变量是否未使用,如果您不使用constant()也可以突出显示。