PhpStorm 代码重构 elseif PHP

4
让我们以PHP.net上的一个例子为例。
    <?php
    if ($a > $b) 
    {
         echo "a is größer als b";
    } 
    else if ($a == $b) 
    {
         echo "a ist gleich groß wie b";
    } 
    else 
    {
         echo "a ist kleiner als b";
    }
    ?>

这是相当基础的操作。STRG或CTRL + ALT + l可以重新格式化代码,但方式有些奇怪:

    if ( $a > $b )
    {
        echo "a is größer als b";
    }
    else
    {
        if ( $a == $b )
        {
            echo "a ist gleich groß wie b";
        }
        else
        {
            echo "a ist kleiner als b";
        }
    }

没有任何模板或其他我所知道的东西能够触发这个问题。然而,这种方式改变代码是一种麻烦。问题是:如何防止PhpStorm这样做。这只出现在软件的最新更新(PhpStorm 2016.2.2)中,之前的版本没有出现过。PhpStorm的版本是:
- PhpStorm 2016.2.2 - Build #PS-162.2380.11,于2016年10月24日构建 - JRE: 1.8.0_112-release-287-b3 amd64 - JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

你想要什么样的格式? - Chonchol Mahmud
else if 结构不再被以这种方式拆分。问题在于,即使进行代码重构,“elseif”仍然保持不变,而“else if”却不是这样。这是最新更新带来的变化。 - user4494495
1
我对这成为默认行为感到困惑,而且我需要“特殊处理”才能让它不干扰我的代码。非常愚蠢。 - jxmallett
1个回答

12

进入 文件 > 设置 > 编辑器 > 代码风格 > PHP > 换行和括号 标签,并勾选“特殊的 'else if' 处理”。


那似乎是新的。我一定是忽略了它。不幸的是,它并不能消除它在第一次创建时造成的混乱。由于这只出现在我的代码的一个点上,所以并没有造成太大的损害。谢谢。 - user4494495

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