教程:在 JavaScript 中高亮显示 PHP 语法
在本教程中,我们将探讨在 PhpStorm 中使用 Template Data Language 处理混合语法。 有时我们会在一个文件中混合使用不同的编程语言。 如果这种注入仅发生一两次,使用 Language Injections 是最佳选择。 但如果有很多这样的情况呢? 例如,在一个 JavaScript 或 CSS 文件中,我们使用了一个 PHP 变量或函数? 我们如何实现混合语法高亮、代码补全和检查? 有一个很好的技巧可以实现:配置 Template Data Language。
请看以下 JavaScript 文件。 在文件中,我们使用了一个 PHP 变量,并希望在当前文档加载完成时通过警告框显示它。 我们还可以发现一个语法错误:我遗漏了 $ 来访问该变量。 我们如何让 PhpStorm 同时识别 JavaScript 代码和 PHP 代码?

要让 PhpStorm 识别一个文件中的不同语言,请执行以下步骤。
重命名文件 ,以便 PhpStorm 将其视为 PHP,同时其扩展名与 php 不同。
将新文件类型关联到 PHP (或其他语言)。
重命名文件
第一步,我们将文件从 alert.js 重命名为 alert.js.php (扩展名可以是任意的)。 为什么我们需要更改扩展名? 将我们希望使用自定义语言的文件与其他 php 文件分开是至关重要的,这样可以确保高亮显示、代码补全和分析对所有文件都能正常运行。 为什么是 .js.php ? 一旦部署,此文件将需要由 PHP 执行。 当然,我们可以重新配置服务器通过 PHP 解释器运行 JavaScript 文件,但当前的方法可能更简单。
以下是重命名后的文件样子:

将新文件类型关联到 PHP
现在我们需要在 设置 对话框的 文件类型 页面上,将新的( js.php 文件类型与 PHP 关联。 如果您不想使用自定义扩展名,那么您将不得不使用完整的文件名作为模式,这并不推荐。

请注意,由于此设置是 IDE 范围的,创建的文件类型关联将影响所有项目。 因此,使用自定义扩展名是最好的处理方式。
设置 Template Data Language
现在 PhpStorm 识别了 PHP 语法,但不再识别 JavaScript。 在 设置 对话框(Ctrl+Alt+S )中,选择 模板数据语言 下的 语言和框架。 在这里,我们可以为特定文件、文件夹或整个项目指定一个次要语言。 对于我们的示例,我们可以为文件选择 JavaScript。

一旦指定了 Template Data Language,PhpStorm 就能识别两种语言,并提供语法高亮、代码补全、检查、重构等功能。
