.NET Tools

JetBrains의 IDE, Rider에서 Sirenix의 Odin Inspector 지원

Read this post in other languages:

Rider를 게임 개발자를 위한 궁극의 IDE로 만들기 위한 노력의 일환으로 Unity 개발사 Sirenix와 파트너십을 맺어 Rider에서 Odin Inspector를 지원하게 되었습니다. 지난 5년 동안 Rider는 Unity 스트립팅 및 게임 개발에서 매우 인기 있고 널리 사용되는 도구가 되었습니다. Rider는 Unreal Engine, Godot 및 Unity를 지원하며, 최근 설문조사에서는 Unity 응답자 중 66%가 Rider를 Unity 개발에 가장 좋은 선택지라고 생각하는 것으로 나타났습니다. JetBrains는 이에 안주하지 않고 Unity에서 가장 유명한 플러그인 중 하나를 지원하여 Unity 개발자들에게 더 많은 도움이 되고자 합니다.

Sirenix와의 파트너십

Sirenix의 Odin Inspector 및 Serializer는 별점을 5개 받은 플러그인이자 Unity를 개선하는 가장 인기 있는 방법 중 하나입니다. JetBrains는 Odin의 개발사 Sirenix와 파트너십을 맺고 Unity 개발자들을 위한 생산성 향상 도구 모음을 출시하게 되었습니다.

“Odin Inspector는 Unity 플러그인으로, 강력하고 사용자 지정이 가능하며 사용자 친화적인 에디터가 제공하는 워크플로의 이점을 코드 한 줄 작성 없이 모두 누릴 수 있습니다.” ©

odininspector.com

JetBrains는 2023년 11월 암스테르담에서 열린 Unite 콘퍼런스에서 Odin 팀과 만났으며, Rider에 관한 이들의 피드백에 대해 논의하고 기술적으로 협력할 방법을 함께 고민하는 즐거운 시간을 가졌습니다.

Odin을 지원하는 Rider의 첫 테스트 버전은 이미 두 제품을 워크플로에서 즐겨 사용하는 소수의 게임 개발자에게 공유되었습니다. 그리고 저희가 받았던 피드백은 매우 고무적이었습니다!

“Odin은 제가 진행하는 모든 Unity 프로젝트에서 필수적인 요소이기 때문에 제가 가장 좋아하는 IDE에서 공식 지원된다는 사실이 정말 기뻤습니다. 다른 사람들에게도 얼른 공개되었으면 좋겠습니다. 분명 수많은 Unity 개발자들이 좋아할 겁니다!

제가 가장 좋아하는 기능은 그룹 속성의 코드 자동 완성입니다. 그룹 속성 인수를 잘못 입력했던 적이 수도 없을 정도로 많았고, 변경 사항을 테스트하려면 에디터와 코드 사이를 계속 왔다 갔다 해야만 했습니다. 이런 속성을 지원하는 코드 완성 기능이 있으니 이제는 복잡한 그룹도 오류 없이 빠르게 빌드할 수 있습니다.”

Artyom Zuev, Brace Yourself Games 리드 프로그래머

이제 모든 사용자가 사용할 수 있도록 Rider 2024.1 부터 Odin이 지원된다는 사실을 알려 드립니다!

Rider의 Odin 지원

Odin이 없거나, 구매를 망설이는 경우라도 여기에서 무료로 90일 평가판을 받아 사용해 볼 수 있습니다.

Odin의 시리얼화

Rider는 오랫동안 코드에 있는 Unity의 시리얼화된 필드를 이해해 왔습니다. 선언 옆에 표시되는 특별한 Code Vision을 활용하면 Unity가 필드를 시리얼화하는 것을 확인할 수 있습니다. 이러한 필드는 Rider에서 특별하게 처리됩니다. 예를 들어 이름을 변경하면 FormerlySerializedAs 속성이 추가됩니다.

Rider는 이제 Odin이 시리얼화한 필드도 인식합니다. 특별한 Code Vision 링크를 사용하면 Odin과 Unity 중에서 필드를 시리얼화한 것이 무엇인지, 또는 필드가 시리얼화되지 않았는지 여부를 파악할 수 있습니다. 이는 Odin의 Serialization Debugger(직렬화 디버거) 에디터 창에 있는 개요와 비슷하며, 이제는 사용 중인 에디터 바로 내부에 위치합니다.

Odin의 시리얼화된 필드 역시 특별한 방식으로 처리됩니다. 전혀 대입되지 않아 사용되지 않는 필드나 값 등에 관한 거짓 경고는 보내지 않습니다.

그룹 속성을 지원하는 코드 분석 및 코드 완성

속성 그룹화를 활용하면 에디터 내 UI를 생성하고 정리하는 과정을 크게 개선할 수 있습니다. 이제 Rider에서도 속성 그룹화가 지원됩니다. 사용자가 새로운 그룹 속성을 작성하면 그룹 경로 코드 완성이 Rider에서 제안되므로, 작업 속도를 높이고 정의된 그룹의 개요를 확인할 수 있습니다.

또한 Unity 에디터로 전환하여 Inspector(인스펙터)를 열기 전에 버그를 잡을 수 있는 새로운 검사도 추가했습니다.

  1. 에디터에서 입력할 때 존재하지 않는 그룹에 요소를 추가하면 Rider가 경고합니다. 이 기능은 실수로 존재하지 않는 그룹에 요소를 배치하는 것을 막아주기 때문에 그룹 구조를 변경할 때에도 유용합니다.
  2. Rider는 서로 다른 그룹이 비슷한 경로를 공유할 때에도 경고합니다.
  3. 하나의 항목이 여러 그룹에 속하는 경우에도 Rider는 경고합니다.

Odin 색상 속성을 지원하는 색상 선택기

Rider가 이제 Odin 색상 속성을 인식하여 에디터에서 바로 해당 색상을 표시합니다. 따라서 색상 상수가 무엇을 의미하는지 더 이상 외우지 않아도 됩니다. 추가적으로 Rider의 Choose Color(색상 선택) 대화상자에서도 색상을 선택할 수 있으며, 이에 따라 코드도 업데이트됩니다.

Odin 속성 내의 C# 멤버 해결

JetBrains는 Odin의 속성 목록을 면밀히 검토하였습니다. 그 결과, 이제 Rider는 ‘$’ 기호로 시작하는 문자열 리터럴과 ‘$’ 기호가 필요하지 않는 않는 특수 속성을 올바르게 처리합니다. Rider는 이러한 속성의 멤버에 코드 완성을 제공하고, 이름 변경 작업을 처리하며, 문자열 리터럴에서 Go to Declaration(선언으로 이동)의 실행도 지원합니다.

앞으로 Odin 속성 내에서 C# 표현식도 지원할 계획입니다.

기타

Odin에는 게임 개발에 유용한 속성이 많습니다. 저희는 Odin 속성을 검사한 후에 Rider에 다음의 유용한 기능을 추가했습니다.

  1. 검증 속성에 대한 코드 완성을 제공합니다(예: FilePathAttribute).
  2. Rider가 이제 Odin의 범위 속성에 대한 이해를 바탕으로 정수 값을 분석할 수 있습니다.

직접 사용해 볼 준비가 되셨나요? JetBrains Rider 무료 평가판을 다운로드하여 사용해 보세요!

게시물 원문 작성자

image description

Discover more