PHPStorm中switch语句的“break”缩进

16

PHPStorm是一款非常好用的集成开发环境,但有一个让我很烦恼的问题。

我和我的团队编写switch语句时喜欢这样写:

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

PHPStorm会自动将其更正为

switch ($foo) {
    case 'a' :
        // some code
        break;
}
请注意,break语句与代码一起缩进。我不希望发生这种情况。
我已经查看了代码风格部分,但在开关选项中,唯一的选项是缩进case分支。
有人知道如何阻止PHPStorm这样做吗?

还没有解决方案吗?我也在寻找这个。 - Maug Lee
1
@MaugLee - 虽然花了几年时间,但解决方案终于来了 =] - Grim...
4个回答

7
您可以更改此默认行为。
settings | Editor | Code Style | PHP | Wrapping and Braces

取消选中 'case' 中的缩进换行' 选项。

1
就是这个!他们终于在V9中添加了它作为一个选项。像我之前说的那样,我现在已经习惯了它的缩进,但希望这个问题能帮助其他人。 - Grim...
JavaScript没有此选项 :( - PhpStorm 9.0.2 - Jerry

1

根据 PSR-2关于代码风格的建议, PHPStorm会以推荐的方式显示代码。

如果您真的想更改它,可以在编辑器> 代码样式> PHP>换行和括号下的'switch'语句中取消选中Indent 'break' from 'case'

声明:屏幕截图来自IntelliJ,但您应该能够在相同位置找到相同的设置 相关截图


奇怪 - 它在最新版本的PHPStorm中不存在:https://www.dropbox.com/s/miblix2003meha9/Screenshot%202015-04-08%2016.59.00.png?dl=0 - Grim...
你可能需要等待PHPStorm更新以匹配当前版本的IntelliJ。很抱歉给你带来了虚假的希望。 - JF Dion
没关系 - 老实说,我已经习惯了缩进的方式 - 但是为了确保其他人遇到同样的问题时能够及时更新这个问题,还是值得保留这个问题。 - Grim...

0
也许你还需要按照应用程序指出的逻辑去处理,break并不一定意味着case语句的结束。你可以在break语句之后添加注释,从逻辑和视觉上都是合理的。break是该特定case语句的子级。

0

按下Ctrl+Alt+S打开设置。 如下图所示,选择代码样式 -> PHP

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

enter image description here


@Grim... 你能描述一下 that didn't work 是什么吗?请问你使用的是哪个版本?这是在5.0.3上的。 - Shankar Narayana Damodaran
我使用的是6.0.3版本,更改连续缩进并没有任何影响,恐怕无法解决。 - Grim...

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