【问题标题】:PHPStorm switch statement 'break' indentingPHPStorm switch 语句'break'缩进
【发布时间】:2013-08-20 01:32:09
【问题描述】:

PHPStorm 是一个非常好的 IDE,但它做了一件让我烦恼的事情。

我(和我的团队)这样编写 switch 语句:

switch ($foo) {
    case 'a' :
        // some code
    break;
}

PHPStorm 自动将其更正为

switch ($foo) {
    case 'a' :
        // some code
        break;
}

请注意,break 与代码一起缩进。我不希望这种情况发生。

我查看了代码样式部分,但切换的唯一选择是缩进 case 分支。

有谁知道如何阻止 PHPStorm 这样做?

【问题讨论】:

  • 还是没有解决办法?我也在找这个。
  • @MaugLee - 花了几年时间,但解决方案终于来了 =]

标签: coding-style phpstorm indentation


【解决方案1】:

Ctrl+Alt+S 打开 设置 。 选择 Code Style -> PHP 如下

Continuation Indent 的值更改为 0,如图所示。 完成

【讨论】:

  • @Grim... 你能描述一下that didn't work 吗?我可以知道你的版本吗?这是在 5.0.3 上。
  • 我在 6.0.3 上,恐怕更改连续缩进没有任何区别。
【解决方案2】:

也许您还必须遵循应用程序指出的逻辑,break 不一定是 case 语句的结束。你可以在 break 语句之后有 cmets,无论是逻辑上还是视觉上。 break 是该特定 case 语句的子项。

【讨论】:

    【解决方案3】:

    根据PSR-2 on code style 中的建议,PHPStorm 以推荐的方式显示它。

    如果你真的想改变它,你可以在Editor > Code style > PHP > Wrapping and Braces 下的'switch' statement 下进行,并取消选中Indent 'break' from 'case

    免责声明,截图来自 IntelliJ,但你应该可以在相同的位置找到相同的设置

    【讨论】:

    • 奇怪 - 最新版本的 PHPStorm 中没有:dropbox.com/s/miblix2003meha9/…
    • 我猜你将不得不等待 PHPStorm 更新以匹配当前版本的 IntelliJ。对不起,错误的希望
    • 不用担心 - 老实说,我现在已经习惯了缩进 - 但如果其他人有同样的问题,仍然值得保持这个问题的最新状态。
    【解决方案4】:

    您可以在

    中更改此默认行为
    settings | Editor | Code Style | PHP | Wrapping and Braces
    

    取消选中 indent 'break' from 'case' 选项

    【讨论】:

    • 就是这个!他们最终在 V9 中将其添加为选项。就像我之前说的,我现在实际上已经习惯了缩进,但希望这个问题对其他人有所帮助。
    • 选项不适用于 JavaScript :( - PhpStorm 9.0.2
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2018-01-21
    • 2012-06-21
    • 1970-01-01
    • 2018-08-23
    • 2011-03-12
    • 2016-06-19
    相关资源
    最近更新 更多