我在项目中有我的script.php文件。它包含javascript,但我希望它基于服务器端数据动态创建。
我使用php将它的内容类型设置为text / javascript,但PhpStorm并未将其视为javascript文件。所以我放松了javascript语法hightlighting,错误检测,实时模板......
如何强制PhpStorm将.php文件视为javascript文件?
答案 0 :(得分:4)
您可以为此类文件制定命名约定。
像
这样的东西foo.js.php
bar.js.php
baz.js.php
然后转到选项ALT + F7
,导航至File Types
,并将*.js.php
注册为javascript
你想要做的事听起来像是不好的做法。
你可能想要这样的东西:
一个真正的JS文件,可由Closure Compiler或类似的东西编译,提供" bootstrap"函数,将您的值作为参数。
如果你在template.php中写这个,那么PHP Storm的一切都很好:
<script>
doFoo(<?= $myFirstValue ?>, <?= $myFirstValue ?>);
</script>
也许您可以使用HTML中的数据属性,我认为它比内联脚本标记更清晰。
另请看这里:https://softwareengineering.stackexchange.com/a/126678/122683
答案 1 :(得分:2)
您可以使用<<<JS
heredoc语法使PhpStorm将文件的特定部分突出显示为Javascript。例如:
<?php
echo 'This is using PHP syntax highlighting';
echo <<<JS
<script>document.write('This is using JavaScript highlighting');</script>
JS;
您还可以使用ALT + ENTER使用特定于文件的语言注入,有关详细信息,请参阅http://blog.jetbrains.com/phpstorm/2013/06/language-injection-in-phpstorm/。
答案 2 :(得分:1)
<强> Settings | Template Data Languages
强>
在那里找到你的文件并在其右栏中指定JavaScript
(或整个文件夹 - 然后它将应用于该文件夹和子文件夹中的所有文件)。
这将告诉IDE使用JavaScript而不是默认 HTML作为该文件的外语。
答案 3 :(得分:0)
您还可以使用IntelliJ的内置语言注入(这是构建phpStorm的平台)。为此,只需标记文件的一部分,然后按ALT + ENTER并使用“注入语言/参考”。