【问题标题】:PhpStorm code formatter and indentationPhpStorm 代码格式化程序和缩进
【发布时间】:2020-01-15 16:24:22
【问题描述】:

我正在使用 PhpStorm 和 Symfony 3 来编写我的项目。

但我有一个问题。当我重新格式化代码时,

这段代码:

变成这段代码:

我不知道我必须更改什么设置来解决这个问题:/有什么想法吗?

【问题讨论】:

  • 缩进看起来是正确的,如果你需要不同的,只需使用制表符。
  • 没什么可修复的,这就是方法链接的一般格式,因为无法确定每个链接节点的级别。出于这个原因,我倾向于不重新格式化 Symfony 配置文件,缩进只是为了便于阅读。
  • 除了@fyrye 所说的——你要么不要格式化这个文件/代码片段..或者你可以用“不要格式化我”cmets 包围这样的代码——见jetbrains.com/help/phpstorm/code-style.html#d366576e184跨度>
  • @graille 请为youtrack.jetbrains.com/issue/WI-18803请求投票和评论

标签: php symfony intellij-idea phpstorm


【解决方案1】:

我在https://www.jetbrains.com/help/phpstorm/reformat-and-rearrange-code.html找到了解决方案

首先在Settings->Editor->Tab:Formatter Control中启用格式化标记

之后,您可以通过以下方式打开/关闭每个语句/文档块上的格式化程序

// @formatter:off

/**
 * @formatter:off
 */

请确保,如果您想格式化链式方法调用下方的代码,请使用 // @formatter:on 启用格式化程序。

【讨论】:

    【解决方案2】:

    您在菜单中更改它:

    File -> Default Settings -> Editor -> Code Style -> PHP 和重叠:Wrapping and Braces:

    Chained method calls : "Wrap always"
      Align when multiline   "Y"
      Place ';' on new Line  "Y"
    

    之后你可以重新格式化你的代码CTR+ALT+L

    【讨论】:

    • @graille 现在可以了吗?
    • 您的建议导致方法运算符垂直对齐(与 OP 想要的相反)。在强制所有链接的方法调用位于新行时,然后将 ; 放在自己的行上。 OP 希望保留缩进以直观地表示 Symfony 配置的层次结构,类似于多行时多维数组的显示方式。
    猜你喜欢
    • 2011-11-04
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 2012-09-25
    • 2016-05-11
    • 2010-09-28
    相关资源
    最近更新 更多