PhpStorm 强制文件类型

5

我有一个位于项目中的script.php文件。它包含JavaScript代码,但我希望基于服务器端数据动态创建它。

我使用php将其Content-type设置为text/javascript,但PhpStorm并不将其视为JavaScript文件。因此,我失去了JavaScript语法高亮、错误检测和实时模板等功能……

我该如何强制PhpStorm将该.php文件视为JavaScript文件呢?

4个回答

4
你可以为这种类型的文件制定命名规范。
类似于

像这样

foo.js.php
bar.js.php
baz.js.php

然后进入选项 ALT + F7,导航到文件类型,将 *.js.php 注册为 javascript。
你试图做的事听起来像是不良实践。也许你想要像这样的东西:一个真正的JS文件,可以通过Closure Compiler或类似工具进行编译,其中提供“引导”函数,这些函数以您的值作为参数。如果在您的template.php中编写此内容,则对于PHP Storm来说一切都很好。
<script>
    doFoo(<?= $myFirstValue ?>, <?= $myFirstValue ?>);
</script>

也许你可以在HTML中使用数据属性来处理数据,我认为这比内联脚本标签更清晰。 此外,请参考这里:https://softwareengineering.stackexchange.com/a/126678/122683

当我这样做时,它能够识别JavaScript,但现在它无法识别PHP。当我尝试将*.js.php通配符添加到JavaScript旁边的PHP中时,我必须重新分配通配符。 - user3829754
阅读我的回答的第二部分。你真的不想这样做。在这里看看:http://programmers.stackexchange.com/a/126678/122683 - Christian Gollhardt

2

2

设置 | 模板数据语言

在那里找到您的文件,并在右列中为其分配JavaScript(或整个文件夹--然后它将应用于该文件夹及其子文件夹中的所有文件)。

这将告诉IDE在该文件中使用JavaScript而不是默认的HTML作为外部语言。


0
您还可以使用IntelliJ的内置语言注入功能(这是phpStorm构建的平台)。为此,请标记文件的部分,然后按ALT + ENTER并使用“注入语言/参考”。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接