【问题标题】:in PhpStorm, is it possible to reformat injected code within a PHP file?在 PhpStorm 中,是否可以在 PHP 文件中重新格式化注入的代码?
【发布时间】:2013-06-24 02:00:43
【问题描述】:

PhpStorm 可以使用Reformat Code 命令为特定语言应用代码样式规则。 PhpStorm 还可以识别嵌入在另一种语言文件中的语言(在 PhpStorm 中称为“语言注入”)。因此,我希望一种语言无论在何处使用该语言都会受到其代码样式规则的约束——无论是嵌入的还是在它自己的文件中。

我发现这对于 html 文件中的 css/js 可以正常工作,但不适用于 PHP 文件中的语言注入。 PhpStorm 将识别 heredoc 中的 css,并将 html 识别为heredoc 以及单引号和双引号字符串——但在任何这些情况下重新格式化都不起作用。

没有使用中间文件来重新格式化代码,我怎样才能让 PhpStorm 重新格式化这些代码部分?我正在为 Mac 使用 PhpStorm 6.0.3。

Their documentation 状态:

PhpStorm 支持以下方面的全面编码帮助:

  • HTML 或 XML 文件中的 CSS 和 JavaScript。
  • CSS、JavaScript 和 SQL 在 PHP 代码块之外和 PHP 字符串文字内部。

第二个要点似乎只对了一半,因为 css/js/sql 被识别但不受 PHP 字符串文字内的代码样式的影响。并且没有指定注入的html;但是在 PhpStorm 识别语言注入及其将代码样式应用于任意选择的能力之间,用于格式化嵌入式语言的所有部分似乎都在那里。我错过了什么?

【问题讨论】:

    标签: phpstorm


    【解决方案1】:

    要根据 PhpStorm code styles Preferences 重新格式化注入的代码,选择注入的代码并打开 Intention Actions 列表 (Alt+Enter),然后选择“Edit __ Fragment " 在它自己的专用窗口 (documentation) 中编辑它。在此窗口中,代码格式化将按预期工作。

    【讨论】:

    • 嗨!在您的配置中绑定到Alt + Enter 的命令的名称是什么?对我来说,默认键盘映射中的 Show Intention Actions。看来这不是你的意思。
    • @StasMakarov 我更新了答案。如果您没有看到“Edit __ Fragment”选项,则需要安装/启用 IntelliLang 插件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2014-03-28
    • 1970-01-01
    • 2014-11-02
    • 2015-12-15
    • 1970-01-01
    相关资源
    最近更新 更多