PhpStorm强制文件类型

时间:2014-07-12 18:49:36

标签: content-type phpstorm

我在项目中有我的script.php文件。它包含javascript,但我希望它基于服务器端数据动态创建。

我使用php将它的内容类型设置为text / javascript,但PhpStorm并未将其视为javascript文件。所以我放松了javascript语法hightlighting,错误检测,实时模板......

如何强制PhpStorm将.php文件视为javascript文件?

4 个答案:

答案 0 :(得分:4)

您可以为此类文件制定命名约定。

这样的东西
foo.js.php
bar.js.php
baz.js.php

然后转到选项ALT + F7,导航至File Types,并将*.js.php注册为javascript

enter image description here

你想要做的事听起来像是不好的做法。

你可能想要这样的东西:

一个真正的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并使用“注入语言/参考”。