2017-04-26 18 views
0

MonoDevelop-Unity 5.9.6을 사용하고 있습니다.MonoDevelop "else if"깨진 들여 쓰기

주로 사용자 정의 정책을 만들었습니다.

여러 번 시도했지만 수정하지 못한 한 가지 문제가 있습니다. 다음과 같이

"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

당신을 실망 시켜서 미안하지만, 단발 현상만으로도 안됐다. 필자는 일관된 포맷팅 규칙을 따르도록 만들었습니다. – Dunno

+0

Quoted @ Dunno. Visual Studio를 사용하여 Ctrl + D 및 보이스 자동 들여 쓰기 –

+0

Monodevelop is ass. Unity는 사용자 정의 된 버전을 약간 사용하지만, 주된 문제점은 MD에 문제가 있다는 것입니다. Unity에서 3.5 일 만에 처음 시작했을 때 무언가 붙여 넣으면 바로 커서의 오른쪽에있는 문자가 복제 될 것입니다. 그러나 .js 파일과 Windows에서만 가능합니다 (Mac 버전은 괜찮 았습니다). MD에 대한 버그로보고하고 그들은 "우리는 JS를 사용하지 않기 때문에 고칠 수 없으며 MD의 진짜 구버전 인 Branch에 속합니다." 유니티 4.5가 새로운 버전의 MD로 업데이트되기 전에 유니크 4.5까지 사용되었습니다. TLDR : VS를 사용하십시오. – Draco18s

답변

0

MonoDevelop은 else 문에 문을 if 문과 같이 포함되어있는 것으로 봅니다. 그러므로 정책에서 Align Embedded Statements 옵션을 해제 한 경우 이상한 들여 쓰기가 발생합니다. 다시 켜면 코드가 마음에 드는 방식으로 포맷됩니다.

+0

대답 일 수도 있었지만 슬프게도 이미 켜져 있습니다. (사용 중지하면 아무 효과가없는 것 같아서 무시하는 것 같습니다. –