【发布时间】:2015-05-30 08:33:14
【问题描述】:
我在 PHPStorm 中遇到问题,当它与 HTML 代码混合时,它不会突出显示 .php 文件中的 PHP 代码(但会智能感知它)。
截图(点击放大):
如果我使缓存/重新启动无效,它将在几秒钟内显示正确的突出显示。但是,在它“计算”之后,它会恢复为不突出显示。
有这个设置吗?还是只是一个普通的错误?
我已经阅读了有关语言注入的信息,但这似乎不是适合它的地方,因为它已经是一个 .php 文件,而且 PHP 不在可注入语言列表中。
相关代码:
<?php
$works = "yes";
?>
<html>
<body>
<script>
var shouldStillWorkAfterThis = true;
</script>
<?php
$works = "yes";
?>
<table>
<tr>
<td><?php $works = "yes"; ?></td>
</tr>
</table>
<!-- lets try split syntax -->
<?php
if ($works) {
?>
<table>
<tr>
<td><?= $works ?></td>
</tr>
</table>
<?php $thisShouldToo = true; ?>
<?php } ?>
<!-- lets break it -->
<div id="someclass">
<header>
<div class="someotherclass">
<div class="andanextraclass">
<!-- include a file-->
<?php include('somefile.php');?>
<?php
$anythingHereIsNowBroken = true;
?>
</div>
</div>
</header>
</div>
</body>
</html>
语言注入设置:
我在 MacOSX 10.9.5 上使用 PhpStorm 8.0.3。
【问题讨论】:
-
尝试减少 PHP 代码上方的一些 HTML,看看是否仍然可以重现该问题。然后,发布文件中的所有代码,以便我们可以尝试重现它。见How to create a Minimal, Complete, and Verifiable example。
-
请截图你的
Settings (Preferences on Mac) | Editor | Language Injections。 -
这是一个测试文件:pastebin.com/Z3hMY4ur 和相关截图:puu.sh/i5JZO/b1532e72c6.png