Rider 2022.1에는 완벽한 Unreal Engine 지원이 포함되어 어떤 게임 엔진을 사용하든 관계없이 Rider를 모든 기능을 갖춘 게임 개발용 IDE로 이용할 수 있습니다.
Rider 2022.1 버전에서는 오랫동안 기다려온 원격 개발 워크플로의 베타 버전도 지원합니다. 이 기능을 통해 전 세계 어디서든 Rider의 백엔드를 실행하는 원격 시스템에 연결할 수 있습니다.
이러한 새로운 기능 외에도 이번 릴리스에서는 Docker Fast 모드, 기본 툴바 업데이트, Search Everywhere(전체 검색) 팝업에서 바로 이용할 수 있는 솔루션 전체에 대한 전체 텍스트 검색 기능을 제공합니다.
Rider는 이미 Unity 개발 커뮤니티에서 널리 사용되고 있으며 이제 Unreal Engine 지원이 함께 제공됩니다. 이로써 Rider는 모든 종류의 게임 개발자를 위한 주요 JetBrains IDE로 자리잡았습니다.
Rider는 Windows, Linux 및 macOS의 세 가지 주요 플랫폼 모두에서 Unreal Engine 개발을 지원합니다. 기본적으로 .uproject
모델과 함께 작동하므로 중간 프로젝트 모델을 만드는 시간을 절약할 수 있습니다.
UnrealLink 플러그인을 사용하면 Rider와 Epic Games의 Unreal Editor와의 고급 통합 기능을 이용할 수 있습니다. 플러그인의 기능은 다음과 같습니다.
Rider는 최신 C++에 대한 첨단 지원을 기본적으로 제공하는 ReSharper C++에 기반을 둡니다. 1,300개 이상의 코드 검사, 290개 이상의 빠른 수정, 전체 솔루션 리팩터링 및 코드 생성 기능을 활용할 수 있습니다. 게임의 C++ 코드, Unreal Engine 코드 또는 셰이더로 작업하는 모든 경우에 Rider는 즉각적인 탐색을 지원하고 인레이 힌트로 코드를 설명합니다.
Rider에서 Unreal Engine 리플렉션 매크로와 리플렉션 지정자는 일반 텍스트를 대체하는 이상의 의미가 있습니다. 자동 완성과 빠른 문서는 이러한 엔티티를 정확히 파악하여 사용자가 효과적으로 코딩할 수 있도록 도와줍니다. 마찬가지로, Unreal Engine 원격 프로시저 호출(RPC)은 단순한 일반 함수가 아니며, Rider는 코드 탐색 및 코드 생성 중에 이를 매칭합니다.
Rider는 UnrealHeaderTool과 통합되어, 일반적으로 컴파일 시에 에디터에서 바로 볼 수 있는 오류와 경고가 코드를 편집하는 동안 동일하게 표시됩니다. 이 프로세스는 전체 성능에 최소한의 영향만 미치도록 최적화되었습니다.
Rider는 Unreal Engine 프로젝트를 탐지하고 이러한 프로젝트에서 코드를 생성 및 분석할 때 Unreal Engine 명명 규칙을 자동으로 사용합니다.
Unreal Engine Natvis를 지원하는 LLDB 기반 디버거는 게임 코드나 엔진에 있는 문제점을 파악하는 데 도움을 줍니다. 줄, 심볼, 데이터 및 조건부 중단점을 설정할 수 있습니다. 또한 디버그 세션 동안 Rider 에디터에서 바로 코드를 단계별로 실행하고, 표현식을 평가하고, 변숫값을 볼 수 있습니다.
Rider는 Unreal Engine 자동화 테스트 프레임워크를 즉시 지원합니다. 유닛 테스트 도구 창이나 에디터에서 직접 테스트를 시작하고 결과를 검토하고 실패한 테스트, 전체 테스트 또는 특정 테스트를 다시 실행해보세요.
Windows에서 일반 C++ 개발에 Rider를 사용할 수 있습니다. Rider에서 .sln
파일을 프로젝트로서 열기만 하면 됩니다. Linux 및 macOS에서 Rider는 C++ 프로젝트의 .uproject
모델만 다룹니다. 일반적인 C++ 및 Unreal Engine 개발과 관련하여 Rider, CLion 및 ReSharper C++의 차이점이 궁금하다면 자주 하는 질문을 참조하세요.
Rider는 이제 원격 개발 워크플로의 베타 버전을 지원합니다. 이 기능을 통해 전 세계 어디서든 Rider의 백엔드를 실행하는 원격 시스템에 연결할 수 있습니다. 강력한 원격 시스템에서 모든 처리가 이루어져, 로컬 시스템에 있는 것처럼 프로젝트 작업을 원활히 수행할 수 있습니다. Rider의 시작 화면 또는 JetBrains Gateway라는 신규 애플리케이션(Toolbox 앱에서 이용 가능)에서 이 기능을 시작할 수 있습니다.
그뿐 아니라 전체 소프트웨어 개발 파이프라인을 위한 통합 플랫폼인 JetBrains Space를 사용하여 개발 환경을 생성, 사전 빌드, 공유, 복제하거나 수면 모드 상태로 전환하고 관리할 수 있습니다. 자세한 내용은 이 블로그 게시물을 확인하세요.
멋진 디자인의 새로운 기본 툴바는 많은 호응을 얻었습니다. 하지만 사용자 지정 위젯을 추가하거나 기존 위젯을 재정렬할 방법이 없어 많은 사람들이 불만을 토로했습니다. 사용자 요청으로 도입된 신규 기능을 살펴보세요! 이제 툴바의 왼쪽과 오른쪽에 위젯을 추가할 수 있을 뿐 아니라 위젯을 재정렬 및 제거할 수 있습니다.
툴바 사용자 지정 페이지를 여는 방법에는 두 가지가 있습니다.
Rider 2021.3에서 출시된 새로운 기본 툴바를 사용하는 경우 dotTrace로 즉시 프로파일링을 시작할 수 있는 방법이 없다는 것을 눈치채셨을 것입니다. 이번 릴리스에서는 이러한 불편을 해결했습니다.
이제 Run/Debug(실행/디버그) 위젯의 More(더보기) 메뉴('케밥' 아이콘)에서 Profile with Timeline(타임라인으로 프로파일링), Profile with...(다음으로 프로파일링...) 및 Profile running process...(실행중인 프로세스 프로파일링...) 옵션을 사용할 수 있습니다.
Fast 모드가 Docker 및 Docker-Compose 솔루션에 적용되어 개발 중 빌드 시간을 크게 단축할 수 있습니다!
컨테이너 내에서 프로젝트를 빌드하면 로컬 시스템에서 동일한 프로젝트를 빌드할 때보다 훨씬 느릴 수 있습니다. Fast 모드가 활성화되면 Rider는 먼저 docker build
를 사용하여 기본 Docker 이미지를 생성하지만, 그런 다음 호스트 시스템에서 프로젝트를 빌드하므로 훨씬 빠릅니다. 마지막으로, 프로젝트 아티팩트가 Docker 컨테이너에 볼륨으로 마운트됩니다. 이 모드는 디버그 구성 전용이며 Release에서 빌드된 프로젝트는 Dockerfile
에 있는 단계를 사용하여 빌드됩니다.
특정 실행 구성에 대해 Fast 모드를 비활성화하려면 Edit Run Configuration(실행 구성 편집) | Build(빌드) | Modify options(수정 옵션) | Don’t use Docker fast debug(Docker Fast 디버그 사용 안 함)를 사용하면 됩니다.
Search Everywhere(전체 검색)는 솔루션, IDE 설정 또는 Git 기록에서 무언가를 찾을 때 주로 이용하게 됩니다. Rider 2022.1부터는 문자열을 입력하는 동안 솔루션에서 이와 일치하는 모든 텍스트 항목을 표시하는 새로운 Text(텍스트) 탭이 추가되었습니다. .cs
, .fs
, .cshtml
, .json
, .js
, .css
, .editorconfig
, .cvs
, .dockerfile
, .md
및 .txt
파일을 포함해 모든 코드와 텍스트 파일에서 전체 텍스트 검색이 실행됩니다.
이전과 같이 모든 결과는 All(전체) 탭에도 표시됩니다.
이 검색을 실행할 파일의 범위를 좁힐 수도 있습니다.
이러한 Search Everywhere의 텍스트 검색은 기존의 Find in Files(파일에서 찾기) 기능에 영향을 미치지 않습니다. 두 가지 모두 사용할 수 있습니다.
IDE의 중요하고 유용한 알림을 더 명확하게 강조하기 위해 Event Log(이벤트 로그) 인스턴스를 새로운 Notifications(알림) 도구 창으로 교체했습니다. 이 업데이트는 알림을 더 눈에 띄게 만들고 탐색 표시줄에서 액세스할 수 있는 전용 도구 창에서 잘 정리하는 데 목표를 두었습니다.
Notifications 도구 창에 표시되는 모든 알림은 Suggestions(제안) 및 Timeline(타임라인)의 두 가지 유형으로 분류됩니다.
Suggestions 섹션에는 대부분의 사용 사례에서 유용하거나 유익한 것으로 간주되는 알림이 표시됩니다. 또한 Suggestions의 알림은 중요하거나 일반적인 것일 수 있습니다. 중요한 알림을 받으면 탐색 표시줄의 종 모양 아이콘에 빨간색 원이 표시됩니다. 일반 제안은 종 모양 아이콘에 파란색 원이 표시됩니다.
이전에는 현재 확대/축소 상태를 명시적으로 보여주는 표시기가 없어서 텍스트 에디터의 내용이 확대 또는 축소되었는지 확인하기 어려웠습니다.
이번 릴리스에서는 현재 텍스트 에디터 하단에 확대/축소 위젯을 도입했습니다. 이 위젯은 에디터의 실제 글꼴 크기를 보여주고 디폴트 값으로 재설정하는 데 도움을 줍니다.
이 위젯에서 Preferences/Settings(환경 설정/설정)로 바로 이동하여 확대/축소를 모든 에디터 탭에 적용할 것인지 활성 에디터 탭에만 적용할 것인지 조정할 수 있습니다.
현재 Visual Studio 키맵과 Visual Studio IDE 키맵(예: Alt+위쪽/아래쪽) 사이의 모든 단축키 차이를 후자의 단축키를 적용하는 방향으로 해결하는 새로운 Visual Studio 2022 키맵을 추가했습니다. ReSharper가 없는 2022년 이전의 Visual Studio 또는 Rider 버전에 익숙한 사용자에게 이 키맵을 권장합니다.
We continue to improve support for C# 10, particularly global usings. 컨텍스트 액션으로도 사용할 수 있는 두 가지 새로운 리팩터링을 구현했습니다.
Extract Global Using(global using 추출)을 이용하면 프로젝트에서 global using의 개념을 도입할 수 있습니다. 일반 using
지시문에서 이를 호출할 수 있으며, Rider는 지정된 GlobalUsings.cs
파일로 이를 추출하도록 제안합니다(이 파일이 프로젝트에 아직 없으면 생성됨). 더 이상 필요하지 않은 일반 using
은 프로젝트의 파일에서 제거됩니다.
global using
을 일반 using
으로 리팩터링하려는 경우 Inline Global Using(gloabl using 인라인화) 리팩터링을 사용하면 도움이 될 수 있습니다. 이 리팩터링은 global using
에서 호출 시 GlobalUsings.cs
에서 global using을 제거하고 필요한 경우 프로젝트의 파일에 그에 해당하는 using
문을 추가합니다.
global using 기능은 Find Usages(사용 위치 찾기) 및 확장 메서드에 대한 코드 분석에서 지원됩니다.
We’ve looked into the approaching C# 11 and supported generic attributes.
[MemberNotNull]
및 [MemberNotNullWhen]
어노테이션이 이제 null 가능 참조 타입을 사용하지 않는 프로젝트에서 지원됩니다. 다음은 Razor 및 Blazor에 적용된 가장 주목할 만한 기능 및 수정 사항입니다.
[EditorRequired]
속성에 대한 지원을 추가했습니다. 필요한 매개변수를 지정하지 않고 Blazor 구성 요소를 사용하는 경우에도 그에 해당하는 검사와 빠른 수정을 사용할 수 있습니다. .razor
파일에서 코드 정리가 실행되는 방식을 개선했습니다. 이제 코드 정리가 모든 @using
선언을 제거하지 않습니다. include
지시문이 작동하지 않는 문제를 해결했습니다. InternalVisibleTo
속성을 제대로 인식하므로 IDE에서 오류 없이 내부 심볼에 액세스할 수 있습니다. .NET 프로젝트에 웹 참조를 추가하기 위해 여러 부분을 개선했습니다. 가장 주목할 만한 내용을 살펴보겠습니다.
.wsdl
파일의 참조를 추가할 수 있습니다. net.tcp
및 net.pipe
URI 접두사가 지원됩니다. Endpoints 지원과 Endpoints Viewer를 지속적으로 개선하고 있습니다. 뷰어가 이제 ASP.NET Core 6 최소 API 라우팅 및 규칙 기반 라우팅에 대한 엔드포인트도 인식하고 수집합니다. 즉, 이러한 엔드포인트를 탐색하고 해당 위치로 이동할 수 있을 뿐만 아니라 이미 제공되는 기능을 포함해 스마트 코드 완성도 사용할 수 있습니다.
Rider 2022.1에서는 Vue 3과 관련하여 몇 가지가 개선되었습니다. 이제 구성 요소를 전역으로 정의하면 .vue 파일에 있는 해당 구성 요소가 IDE에서 인식됩니다. Rider는 createApp
구문도 적절하게 지원합니다. createApp
을 사용하여 만든 애플리케이션을 관련 요소와 정확하게 일치시킵니다. 이 버전에는 인기 있는 Vue 프레임워크의 새 버전인 Nuxt 3에 대한 지원도 포함되어 있습니다.
Unity에 대한 Rider의 환상적인 지원은 2022.1에서도 계속됩니다. 여기에는 몇 가지 새로운 기능과 수정 사항 및 성능 개선, 기타 내부적으로 이루어진 많은 작업이 포함됩니다.
Unity의 새로운 씬 도구인 RiderFlow도 발표했습니다. 이 도구는 레벨 디자이너, 아티스트, 코더 및 크리에이티브 팀의 나머지 구성원들이 쉽게 씬을 만들고 관리할 수 있도록 설계된 Unity 에디터용 무료 플러그인입니다. 빠르게 탐색하고, 게임 객체 및 애셋을 찾고, 씬에서 애셋의 사용 위치를 시각적으로 강조 표시하고, 씬을 리팩터링하여 객체를 빠르고 쉽게 교체할 수도 있습니다. 자세한 내용은 RiderFlow 페이지에서 알아보세요!
Rider는 이제 프로젝트에 대한 참조를 추가하거나 제거할 때마다 .asmdef
파일을 자동으로 업데이트합니다. 다른 프로젝트의 타입을 사용하는 경우 Rider는 .asmdef
파일에 대한 참조를 추가하고 이 타입을 가져옵니다.
Rider는 이제 .asmref
어셈블리 정의 참조 파일과 .asmdef
파일을 모두 지원합니다. 구문 강조 표시, 스키마 유효성 검사 및 완성 기능이 제공됩니다. 참조 이름을 Ctrl+클릭하면 참조된 .asmdef
파일이 하나인 경우 해당 파일로 이동하고, 참조된 .asmdef
파일이 여러 개인 경우 해당 파일이 Find Usages(사용 위치 찾기)에 표시됩니다.
각 프로젝트는 Unity 에디터를 일괄 모드로 실행하기 위한 새로운 디폴트 실행 구성을 가져옵니다. 이는 유닛 테스트를 실행하고 결과를 Logs 폴더에 저장하는 데 적합합니다.
Unity에서 최신 버전의 C#을 지원함에 따라 Rider에서는 대상 타입이 지정된 new
표현식이 Unity Color
타입의 강조 표시에 포함되도록 확장했습니다. 선언한 색상을 빠르게 미리 보고 Alt+Enter를 사용하여 새 값을 선택할 수 있습니다.
Rider 2022.1은 특히 느린 디스크 또는 파일 시스템에서 매우 큰 Unity 프로젝트를 로드할 때 소요되는 시간을 개선했습니다. 이러한 개선 사항은 대규모 프로젝트에서는 중요할 수 있지만 소규모 프로젝트에서는 잘 인식되지 않을 수 있습니다. 하지만 로드 중 메모리 사용량이 감소하면 어떤 경우든지 혜택을 볼 수 있습니다.
이 릴리스에는 기타 특정 성능 수정이 포함되었습니다. Unity Explorer(Unity 탐색기) 도구 창을 연 상태에서 코드를 입력할 때 동작이 느려지고 Unity 도구 창에 긴 로그 항목을 표시할 때 속도가 느려지는 것과 같은 문제를 수정했습니다.
물론 부수적으로 다른 많은 수정과 개선이 이루어졌습니다. [MenuItem]
메서드에 대한 올바른 메서드 시그니처를 얻을 수 있는 검사, Linux에 설치된 문서의 위치를 찾을 때의 문제 수정, Rider 패키지가 프로젝트에서 최신 상태인지 확인하기 위한 새로운 알림 등을 예로 들 수 있습니다. As always, the full details are listed in the changelog.
Rider는 프로젝트의 AzureFunctionsVersion
프로퍼티를 기반으로 사용할 Azure Functions Core Tools 버전을 결정합니다.
Azure Functions Core Tools의 특정 버전을 설치해야 할 경우, Chocolatey
, Brew
또는 npm
을 사용하거나 Preferences(환경 설정)/Settings(설정) | Tools(도구) | Azure | Functions에서 Rider를 올바른 경로로 가리킬 수 있습니다.
기본적으로 Rider는 Azure Functions Core Tools를 자동으로 관리해줍니다. 프로젝트에 따라 필요한 도구를 다운로드하고 자동으로 최신 상태로 유지합니다.
Markdown 파일에 터미널에서 실행해야 하는 명령어와 관련된 지침이 있는 경우, 여백의 실행 아이콘을 사용하여 Markdown 파일에서 바로 해당 명령어를 실행할 수 있습니다.
Markdown 파일을 편집할 때 텍스트 선택 시 표시되는 플로팅 툴바에 새로운 옵션을 추가했습니다. 이 툴바를 사용하여 이제 헤더 스타일을 빠르게 선택하고 목록을 만들 수 있습니다. 필요한 옵션을 포함하도록 이 툴바를 사용자 지정할 수 있습니다. 이렇게 하려면 Preferences(환경 설정)/Settings(설정) | Appearance & Behavior(모양 및 동작) | Menus and Toolbars(메뉴 및 툴바) | Markdown Editor Floating Toolbar(Markdown 에디터 플로팅 툴바)로 이동하면 됩니다.
또한 콘텐츠를 클립보드에 쉽게 복사할 수 있도록 Markdown 블록에 Copy code snippet(코드 스니펫 복사) 액션을 추가했습니다.
코드를 'not coverable'(포함 불가)로 표시하는 옵션을 구현했습니다. 이를 사용하여 커버리지 프로세스에서 테스트할 필요가 없는 코드를 제외하고 더 명확한 스냅샷을 얻을 수 있습니다. To use this feature, install the JetBrains.dotCover.MSBuild NuGet package and add the comments // dotcover disable/enable
around the code. 자세한 내용은 이 티켓을 확인하세요.
Preview Diff(Diff 미리보기) 아이콘을 Commit(커밋) 툴바에서 Cog(톱니바퀴) 아이콘을 클릭하면 이동할 수 있는 메뉴로 이동하였으며, 이름을 Show Diff Preview on Single Click(한 번 클릭으로 Diff 미리보기 표시)으로 변경했습니다. 여기에서 Changes(변경 내용) 트리에서 파일을 클릭할 때 보려는 동작(파일을 선택하거나 Diff 미리보기 열기)을 지정할 수 있습니다.
도입된 변경 사항을 더 쉽게 살펴볼 수 있도록 Annotate with Git Blame(Git Blame으로 어노테이션 추가) 기능을 개선했습니다. 어노테이션 위로 마우스를 가져가면 Rider가 에디터에서 바로 줄의 차이를 강조 표시하고 어노테이션을 클릭하면 IDE에서 Git Log 도구 창이 열립니다.
이제 Commit Details(커밋 세부정보) 패널에 GPG 서명 및 빌드 상태에 대한 정보가 포함됩니다. 이전에는 이 데이터가 Git 로그에서 하나의 열로만 표시되었습니다.
Git File History(Git 파일 기록) 도구 창의 새 UI는 이제 색인 생성 프로세스와 별도로 작동합니다. 새 인터페이스에서는 로그 색인이 꺼져 있어도 데이터가 표시됩니다.
이전에는 파일에 색인 생성되지 않은 기록이 있으면 Rider에서 비교적 느리고 기능이 누락된 기록 뷰가 표시되었습니다.
이름 지정이 어렵다는 것은 누구나 알고 있습니다. 때로 전체 솔루션의 이름을 변경하고 싶을 수도 있습니다. 이때 Rider를 이용해보세요. Solution Explorer(솔루션 탐색기) 도구 창에서 솔루션 노드에 대한 컨텍스트 메뉴를 호출하고 Edit(편집) | Rename(이름 변경)을 선택하고 솔루션의 새 이름을 입력하면 됩니다.
New Solution/Project(새 솔루션/프로젝트) 대화상자의 드롭다운 목록으로 SDK 옵션을 추가했습니다. 이 옵션을 이용하면 새 .NET SDK 버전을 설치한 후 이전 버전의 프로젝트를 만들 수 있습니다.
Run Static Method(static 메서드 실행) 액션은 .NET 및 .NET Core를 대상으로 하는 프로젝트에서 작동합니다. 여백에 있는 녹색 'run'(실행) 삼각형을 클릭하면 코드 에디터에서 바로 static 메서드를 실행할 수 있습니다.
Roslyn 분석기 및 소스 생성기 지원에 몇 가지 개선 사항을 도입했습니다.
코드 정리 및 서식 지정과 관련된 Alt+Enter 메뉴의 모든 항목을 재구성했습니다. Format selection(선택항목 서식 지정), Cleanup selection(선택항목 정리) 및 Apply syntax style(구문 스타일 적용)이 하나의 Reformat and Cleanup(서식 다시 지정 및 정리) 항목으로 결합되어 하나의 진입점으로 액세스 할 수 있습니다.
이러한 변경 사항 외에도 이제 구문 스타일 설정을 Configure code style(코드 스타일 구성) 및 Autodetect code style settings(코드 스타일 설정 자동 탐지) 액션에서 사용할 수 있습니다. Preview code style(코드 스타일 미리보기) 패널에는 구문 스타일의 변경 결과도 표시됩니다.
NuGet 프로젝트 프로퍼티 페이지에서 패키지 아이콘 선택기를 업데이트했습니다. 이제 사용되지 않는 요소 대신 새로운 요소가 사용됩니다.