PhpStorm 没有对大文件进行代码补全

PhpStorm isn't doing code completion with large file

我刚刚安装了 this library。除了 \XeroAPI\XeroPHP\Api\AccountingApi class 之外,PhpStorm 会执行其通常的代码补全。同一文件夹中的 \XeroAPI\XeroPHP\Api\IdentityApi class 工作正常。

文件很大 - 2,560KB。如果我从 class 中删除大约 65,000 行中的一半(并且无论是前半部分还是后半部分它都有效),那么我会恢复代码完成。事实上,我可以只删除最后 3,000 行左右(将文件缩小到 2,499KB)并且它有效。

我还尝试了快速正则表达式 find/replace 来删除所有 @throws PHPDoc 注释。这使文件减小到 2,491KB,嘿,很快,代码完成工作正常。

如果非要我猜的话,我会说它不会对超过 2.5MB 的源文件进行代码补全,但我找不到任何设置。

除了从文件中删除内容之外,有什么方法可以让代码完成与此文件一起使用(无论如何,下次我进行 Composer 更新时将恢复这些内容)?

根据您的信息(尤其是提到的文件大小以及它在减小文件大小后开始工作的事实),您已达到 IDE 愿意解析和索引的最大文件大小限制。

解决方案:使用 Help | Edit Custom Properties 命令配置 idea.max.intellisense.filesize 选项。默认情况下,它的值为 2500(大小以 KB 为单位)。将其设置为 3000 左右(以覆盖您的文件大小) 并重新启动 IDE(它仅在启动时读取并应用 idea.properties 文件中的设置).

idea.max.intellisense.filesize=3000

P.S。不要将该值设置得太大,因为它可能会导致其他性能问题。