MonoDevelop“else if”broken indentation

问题描述:

我正在使用MonoDevelop-Unity 5.9.6。MonoDevelop“else if”broken indentation

我已经创建了一个自定义策略,主要工作。

有一个问题,尽管多次尝试我都无法修复。

else if” 条款具有完全破碎缩进,如下所示:

broken else if indentation

 if (Input.GetButton("Left")) 
     { 
      _nextDir = Direction.Left; 
     } 
     else if (Input.GetButton("Right")) 
      { 
       _nextDir = Direction.Right; 
      } 
      else if (Input.GetButton("Up")) 
       { 
        _nextDir = Direction.Up; 
       } 
       else if (Input.GetButton("Down")) 
        { 
         _nextDir = Direction.Down; 
        } 
     else 
     { 
         ; 
     } 

     return false; 

可能是什么造成的呢?

我不认为有人会想这样缩进,所以我认为它是一个错误或一些设置不协调,如果是后者,我希望有人能够点我走出了正确的方向。

+7

对不起,让你失望,但monodevelop只是糟透了。我从来没有设法使它遵循一套一致的格式规则 – Dunno

+0

引用@Dunno。使用视觉工作室,然后CTRL K + D和VOILA自动缩进 –

+0

Monodevelop是屁股。 Unity稍微使用了一个定制版本,但主要问题是MD有问题。回到Unity3.5的时候,当我第一次开始的时候,我发现粘贴东西会导致我的光标右边的字符会重复。但只有在.js文件中,并且只能在Windows上(Mac版本没有问题)。把它报告为MD的一个错误,他们就像“我们不使用JS,所以我们没有修复它,这也是真正旧版MD的一个分支,对Unity的抱怨。”在更新到新版本的MD之前,一直等到Unity 4.5。 TLDR:使用VS. – Draco18s

我猜的MonoDevelop看到else if语句作为嵌入else声明的if声明。因此,如果您关闭了政策中的调整嵌入式语句选项,您会收到一些奇怪的缩进。只要将其重新打开,您就可以按自己喜欢的方式格式化代码。

+0

可能是答案......但可悲的是,它已经开启:(禁用它似乎没有任何效果,所以我想这只是无视它? –