我在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。
答案 0 :(得分:12)
基于Settings (Preferences on Mac) | Editor | Language Injections
的屏幕截图。
请从底部删除第3语言注入规则(&#34; div&#34; - &#34; IDE&#34;在Scope列中)。
该规则将HTML注入div
标记,该标记告诉IDE将此类标记内的所有其他代码(甚至PHP)视为HTML /纯文本。