PhpStorm 8 - Sluggish/slow 内联处理文件的经验 HTML

PhpStorm 8 - Sluggish/slow experience when dealing with files in inline HTML

有没有其他人以前遇到过这种情况并且知道解决方法?我正在处理在 PHP 代码中具有内联 HTML 的 PHP 文件,如下所示:

<?
$html = '<html>'.$moreCode.'<head></head><body>'.$bodyCode.'</body></html>';
?>

显然这是真实代码的片段 - 我正在处理的文件总共只有 500 行代码。

我发现当我滚动文件或尝试在文件中的任何位置键入代码时,整个 PhpStorm 会话暂停并在一两秒后恢复。每次击键都会发生这种情况。到目前为止我发现的唯一解决方法是不在 PHP.

中使用 HTML

检查全部禁用。我也尝试启用 "Power Saving Mode" 但无济于事。

我在 Windows 7 Ultimate SP1 x64 上使用 PhpStorm 8.0.3;英特尔 i5-3470 3.2GHz,8GB 内存,固态硬盘。我正在处理的文件是基于网络的,通过千兆以太网连接访问。

如果有任何反馈、建议或解决方案,我将不胜感激。

提前致谢。

速度变慢可能是因为您的代码 - HTML 和 PHP 的大量混合(特别是如果 HTML 代码是通过 echo/print 语句等完成的 - - 在这种情况下 IDE 将在此类片段中注入 HTML 语言 .. 这会使其变慢)。

您的示例(单行)有 3 个注入片段。如果你有很多这样的行——它肯定会使 IDE 变慢。

  1. 您可以尝试将变量嵌入到实际字符串中而不是连接起来,例如

    $html = "<html>{$moreCode}<head></head><body>{$bodyCode}</body></html>";

    这将生成 1 个注入片段而不是 3 个单独的片段。

    这里的消极时刻:你需要修改你的代码。

  2. 或者您可以在 Settings | Editor | Language Injections.

    完全禁用 HTML 语言注入规则

    好的部分:无需修改您的代码。

    不利的是,这样做会影响所有项目,因为这是全球规则(如果您仍然希望在另一个项目中使用它,您唯一的选择是复制该规则并为该特定项目启用它仅)。


P.S.
在 PhpStom v9(目前处于 EAP 阶段)中,您可以通过 PHPDoc 样式注释放置在实际字符串之前强制禁用语言注入,例如$html = /** @lang text */ '<html>'.$moreCode.'<head></head><body>'.$bodyCode.'</body></html>';