Warm tip: This article is reproduced from serverfault.com, please click

php-在大文件中找不到声明,PhpStorm 2018.3.3

(php - Declarations not found in large files, PhpStorm 2018.3.3)

发布于 2019-01-25 18:51:20

因此,我有一个旧项目,其中包含一些相当大的文件(超过5000行)。我已经升级到了最新的PhpStorm,它还没有解决我的问题。

我的问题是方法调用未链接到其声明,因此被突出显示。如果我尝试按住Control键并单击该方法名,则会告诉我“找不到要转到的声明”。

正确的USE行位于文件的顶部,我知道它应该可以工作,因为如果我简单地删除文件的底部1/4,它就会开始工作。我已经尝试缩小导致代码发生在文件中的代码范围,但实际上仅取决于删除了多少代码,而不是删除了哪些代码。

我通过我的选项文件增加了内存,但无济于事,我正在运行64位版本:

-Xms1024m
-Xmx2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Dhidpi=true
-Dawt.useSystemAAFontSettings=lcd
-Dawt.java2d.opengl=true

我该怎么做才能增加此软件可以处理的行数。禁用检查无效。使高速缓存无效并重新启动无效。删除我的.idea文件夹无效。

Questioner
Rick Kukiela
Viewed
0
phpdevmike 2020-12-02 23:46:30

我在2020.2版本的PHPStorm中遇到了完全相同的问题,并最终联系了JetBrain的技术支持。不幸的是,唯一的解决方案是重构你的代码。这就是JetBrain的答案:“这种行为的原因是控制流太长而无法分析。

就是这个:https : //youtrack.jetbrains.com/issue/WI-41610

部分,这个:https : //youtrack.jetbrains.com/issue/WI-31569

不幸的是,你无法采取任何行动来解决这一问题。”

基本上,如果文件有太多的方法调用和/或代码行太多,则IDE无法分析文件。因此,你必须缩短脚本以使PHPStorm能够对其进行分析。请注意,这也会影响PHPStorm中的重构,因为它不会在受此错误影响的那些长文件中找到方法的用法。