2017-04-26 62 views
0

我正在使用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

回答

0

我猜的MonoDevelop看到else if語句作爲嵌入else聲明的if聲明。因此,如果您關閉了政策中的調整嵌入式語句選項,您會收到一些奇怪的縮進。只要將其重新打開,您就可以按自己喜歡的方式格式化代碼。

+0

可能是答案......但可悲的是,它已經開啓:(禁用它似乎沒有任何效果,所以我想這只是無視它? –