PhpStorm使用自定义的开始和结束行将文件的一部分突出显示为JavaScript
PhpStorm highlight part of file as JavaScript with custom start and end lines
我继承了一个PHP项目,该项目包含几个具有以下结构的HTML文件
<?php $this->placeholder('dom.ready')->captureStart(); ?>
var some = javascript.goesHere();
<?php $this->placeholder('dom.ready')->captureEnd(); ?>
<div class="some html goes here">
<h1> <?php echo "with some php in the middle"; ?> </h1>
</div>
是否可以配置Phpstorm,用一些PHP将占位符行之间的所有内容解释为JS,将文件的其余部分解释为HTML?
我知道文件结构非常糟糕,但我现在无法重构它。。。
感谢
至少有两种有趣的可能性。。。
1.Heredoc注释
https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
对我来说,最有趣的解决方案是使用heredoc语法将JavaScript转换为PHP字符串:
<div>
<div>
<?php $this->placeholder('dom.ready')->captureStart(); ?>
<?= <<<JS
var some = javascript.goesHere();
JS
?>
<?php $this->placeholder('dom.ready')->captureEnd(); ?>
</div>
</div>
确保将结束标识符放在第行的第一列
2.更改文件名
当您将文件扩展名从.php
更改为.js.php
时,PhpStorm还会突出显示您的JavaScript。
我认为这个解决方案很好,因为您将永远记住JavaScript在PHP文件中。这必须被清除。。。
这两种解决方案都可以在jetbrains.com上找到。感谢Andriy Bazanov:
https://intellij-support.jetbrains.com/hc/en-us/community/posts/207046645-Zend-framework-and-code-formating-in-view-files
https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000790544-Syntax-Highligth-on-some-special-cases
可能不是你真正想要的,但如果你用脚本选项卡包围javascript,phpstorm会将其解释为js。你需要更改你的代码,使其看起来像:
<script>
<?php $this->placeholder('dom.ready')->captureStart(); ?>
var some = javascript.goesHere();
<?php $this->placeholder('dom.ready')->captureEnd(); ?>
</script>
<div class="some html goes here">
<h1> <?php echo "with some php in the middle"; ?> </h1>
</div>
本文介绍了在不使用脚本标记的情况下,可以使用两个文件扩展名来完成类似的任务。
https://confluence.jetbrains.com/display/PhpStorm/Syntax+突出显示+PHP+内部+JavaScript+(和+其他+语言)
- 是否可以将此javascript代码(或其中的一部分)移动到单独的文件中,而不是内联
- 只是 JQuery 可执行文件的一部分.当直接粘贴到HTML中时,一切正常(window.location)
- 如何在html5/JS中只预加载音频文件的一部分
- 将外部javascript文件视为Aspx页面的一部分
- javaScript代码在一个单独的文件中工作,但不是更大文件的一部分
- JavaScript 文件哈希值与文件的一部分一起生成
- 显示/隐藏外部.js文件的一部分
- 使用 javascript 将上传的文本文件的一部分设置为可点击
- (Javascript)如何提取当前URL的最后一部分 - 没有文件扩展名
- 如果“.jshintrc”和“karma.conf.js”,Jasmine“test”文件夹的一部分受到版本控制
- js文件中脚本的一部分在Firebug控制台上正常工作,但在页面中不起作用
- 读取远程文件的一部分
- 另存为文件的一部分
- PhpStorm使用自定义的开始和结束行将文件的一部分突出显示为JavaScript
- xml文件的一部分转换为javascript数组
- 使用iframe预览并嵌入文件的一部分
- Javascript在Iframe或文件中打开时失败,但在作为Rails服务器的一部分打开时有效
- 如何用Javascript下载文件的一部分
- 如何将.gitignore文件作为npm模块的一部分?
- 我可以使用JavaScript只上传选定文件的一部分吗?