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

时间:2019-01-25 18:51:20

标签: php intellij-idea phpstorm

所以我有一个旧项目,其中包含一些相当大的文件(超过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文件夹无效。

2 个答案:

答案 0 :(得分:1)

帮助| Edit Custom Properties

相关属性:

#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger file is the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500

#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE is able to open.
#---------------------------------------------------------------------
idea.max.content.load.filesize=20000

重新启动IDE,尝试使用File |使缓存无效|无效并重新启动。

答案 1 :(得分:0)

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

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

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

不幸的是,您无法做任何事情来解决这一问题”

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