Rider의 새로운 기능

Rider 2021.2는 코드 분석, null 가능한 참조 타입 및 소스 제너레이터의 여러 업데이트를 비롯하여 개선된 C# 언어 지원을 제공합니다. 또한 이번 릴리스에서 웹 개발자를 위해 ASP.NET Core Endpoint 및 Blazor WebAssembly 애플리케이션용 클라이언트 측 디버그 지원도 제공합니다. Unity와 Unreal Engine을 사용하는 게임 개발자를 위한 다양한 혜택도 준비되어 있습니다. 이제 Welcome(시작) 마법사를 통해 Visual Studio, Mac용 VS 또는 Visual Studio Code와 같은 다른 IDE의 설정을 가져올 수 있습니다.

ASP.NET Core 엔드포인트 지원

새로운 Endpoint(엔드포인트) 도구 창은 등록되거나 [Route], [Http{Method}] 또는 [AcceptVerbs] 속성 어노테이션이 추가된 프로젝트의 모든 ASP.NET Core 엔드포인트 탐색 및 이동 시 유용합니다.

엔드포인트 문서를 검사하거나 엔드포인트를 구현하는 컨트롤러의 Jump to Source(소스로 이동)할 수 있습니다. 등록된 위치를 확인하려면 Find Usages(사용 위치 찾기)를 활용하세요.

HTTP Client(HTTP 클라이언트) 탭을 사용하여 애플리케이션에 대한 요청을 작성하고 제출할 수 있습니다. 이 기능은 API 테스트 시 유용합니다.

번들로 제공되는 OpenAPI Specifications 플러그인을 통해 API를 사용해 보세요. 해당 플러그인은 요청을 작성하고 응답을 검사하는 데 사용 가능한 OpenAPI 파일에 대한 Swagger UI 지원을 추가합니다.

코드 에디터에서도 다음과 같이 최고 수준의 지원이 제공됩니다.

  • HttpClient를 사용할 경우 코드 완성 기능은 [Route], [Http{Method}] 또는 [AcceptVerbs] 속성 어노테이션이 추가된 컨트롤러의 액션으로 해결할 수 있는 모든 URI를 제안합니다.
  • Go to Declaration(선언으로 이동)Find Usages(사용 위치 찾기)를 사용하여 컨트롤러 내 경로 속성 및 URI 사이를 쉽게 이동할 수 있습니다.
  • 컨트롤러의 속성 경로 이름을 변경하면 URI의 사용 위치에 영향을 미치며, URI 문자열에서 직접 경로 이름을 변경할 수도 있습니다.

Blazor WebAssembly 디버그

오랫동안 고대해온 Blazor WebAssembly용 디버그 기능이 Rider에 추가되었습니다! 이 기능은 .NET 5.0 및 .NET Core 3.1 애플리케이션에서 작동합니다.

Follow the official Microsoft guide to set up WASM debugging. 그리고나서 평소와 동일하게 애플리케이션 디버그를 시작하면 됩니다.

Linux에서 사용하려면 미리 개발 인증서를 수동으로 설치해야 하며, 인증서 없이는 작동하지 않습니다. If you are using Ubuntu, you can follow this guide.

Rider supports the debugging proxy if either of these NuGet packages are installed: Microsoft.AspNetCore.Components.WebAssembly.DevServer or Microsoft.AspNetCore.Components.WebAssembly.Server. 현재 Blazor WASM 앱용 사용자 지정 디버그 프록시는 지원되지 않습니다.

언어 지원

C# 코드 분석

변수 값을 스왑하는 데 임시 변수를 사용하시나요? 그보다 더 나은 방법이 있습니다! Rider 2021.2의 새로운 Swap via deconstruction(구조 분해를 통한 스왑) 빠른 수정을 사용하여 코드를 업데이트할 수 있습니다.

코드의 할당 개수는 감소시키고 처리량은 늘리세요! 빈 배열 생성Array.Empty<T>로 대체됩니다.

Type[0]를 할당하는 경우 Rider가 Type.EmptyTypes를 사용하여 메모리 사용 현황을 효율적으로 개선하도록 제안합니다.

특정한 EventArgs가 필요하지 않은 경우 new EventArgs()EventArgs.Empty로 대체할 수 있다는 점을 Rider가 알려줍니다.

기타 개선 사항:

  • .editorconfiggenerated_code 프로퍼티를 사용하여 파일이나 폴더를 생성된 코드로 표시하고 처리 시 배제합니다.
  • 이제 지역 함수 및 클로저가 많은 멤버에 대한 코드 분석이 더욱 빨라졌습니다.
  • Find similar issues(유사한 이슈 찾기) 및 길고 복잡한 switch 문과 switch 식에 대한 코드 분석 성능이 향상되었습니다.

Nullable 참조 타입(NRT)

nullable 참조 타입을 활성화한 후 코드 베이스에 nullable 경고 억제가 많이 발생하나요?

Rider는 더 이상 필요하지 않으며 안전하게 제거 가능한 억제(!)를 알려줍니다.

새로운 컨텍스트 액션을 사용하면 범위 내에서 모든 nullable 경고 억제를 검색할 수 있습니다. 이후 Find Results(결과 찾기) 도구 창에서 억제의 필요 여부를 다시 평가할 수 있습니다.

null 값 가능성 변경을 위한 새로운 리팩터링이 도입되었습니다. 해당 리팩터링은 nullable 어노테이션(?)을 추가하거나 제거할 때 빠른 수정, Refactor This(다음을 리팩터링) 액션 또는 내부 리팩터링을 통해 이용할 수 있습니다.

Rider는 null 값 가능성을 표시하는 어노테이션을 업데이트하고 변경 사항을 코드 베이스에 적용하도록 제안합니다.

JetBrains.Annotations 속성 및 nullable 참조 타입을 사용할 경우 해당하는 빠른 수정이 포함된 몇 가지 새로운 검사가 지원됩니다.

JetBrains.Annotations 속성이 NRT 구문 및 컴파일러 지원 속성으로 업데이트됩니다! 예를 들어, Rider는 [CanBeNull] stringstring?으로 업데이트할 수 있습니다.

Rider가 [NotNull] string 또는 [ItemCanBeNull] List<string?> 등의 불필요한 JetBrains.Annotations 속성을 알려줍니다. 물론 코드 업데이트를 위한 빠른 수정도 제공됩니다.

타입 어노테이션 구문이 허용되지 않는 경우 빠른 수정이 포함된 새 검사가 컴파일러 지원 어노테이션을 추가합니다. 예시:

  • [JetBrains.Annotations.NotNull] T param -> [DisallowNull] T param(where T: class?)
  • [JetBrains.Annotations.CanBeNull] T -> [System.Diagnostics.MaybeNull] T(C# 8에서는 T? 구문이 허용되지 않는 경우)

Rider에 새로운 검사 및 빠른 수정이 추가되어 [DisallowNull], [AllowNull], [MaybeNull][NotNull] 등의 컴파일러 지원 어노테이션을 사용하는 데 도움이 됩니다.

새로운 검사는 불필요한 컴파일러 어노테이션(예: [AllowNull]이 nullable 타입에 적용되는 경우)을 탐지하며 빠른 수정을 통해 제거합니다.

nullable 참조 타입 구문을 사용할 수 있는 경우 Rider는 해당 구문을 사용하도록 제안합니다.

살펴볼 만한 다른 추가 개선 사항도 있습니다.

  • Rider는 변수가 nullable 타입이어야 하는지 확인하며, 가능한 경우 더 엄격한 타입을 생성합니다.
  • 다양한 컨텍스트 액션, 빠른 수정 및 접미사 템플릿이 업데이트되어 nullable 경고 억제에서 더욱 잘 작동합니다. nullable 경고 억제를 유지하거나 이미 억제된 원래 코드를 대체하는 새로운 코드에 대한 경고 억제를 추가합니다.
  • nullable 참조 타입의 제네릭 사용에 대한 지원이 개선되었습니다.

자세한 내용은 ReSharper 및 Rider 2021.2의 C# nullable 참조 타입 관련 새로운 기능 게시물에서 확인하세요.

소스 제너레이터 지원

소스 제너레이터를 사용하여 지루하고 반복적인 개발 업무를 줄이고 컴파일 시간에 코드를 생성할 수 있습니다. Rider 2021.2에서는 사람이 작성한 코드 파일에 지원되는 여러 기능을 소스 생성 파일에도 이용할 수 있습니다. 에디터 지원이 개선되고 리팩터링 지원이 추가되었습니다.

소스 생성 파일에서 리팩터링을 실행할 수 있습니다. Rename(이름 변경) 리팩터링을 사용하여 생성된 프로퍼티의 이름을 변경할 수 있습니다. 또한 Rider는 수동으로 작성된 코드에서도 관련 심볼의 이름을 변경합니다.

마찬가지로 Change Signature(시그니처 변경)을 사용하면 변경 후 생성되는 코드의 컴파일 가능 여부를 확인할 수 있습니다.

Find Usages(사용 위치 찾기)를 통해 상속자를 검색하고, Ctrl+클릭Navigate To(다음으로 이동) 등을 사용하여 생성된 코드에서 수동으로 작성된 코드로 이동할 수 있습니다.

이벤트, 필드 및 프로퍼티 등의 클래스 멤버가 적절히 강조 표시되도록 의미 강조 표시가 활성화되었습니다. 모든 인레이 힌트가 적절한 위치에 표시됩니다.

생성된 코드의 경우 에디터와 마커 표시줄에 억제 및 오류가 표시됩니다.

이제 ReSharper는 소스 제너레이터가 VB.NET으로 생성한 코드를 지원합니다.

게임 존

저희 팀은 Rider 2021.2에 새로운 Unity 기능을 추가하고 Unreal Engine 조기 테스트 버전에 대한 지원을 대폭 개선하여, Rider를 훌륭한 게임 개발 IDE로 만들겠다는 미션을 달성하고자 노력하고 있습니다. 작업 시 Godot을 사용한다면 Rider용 Godot Support 플러그인도 확인해 보세요.

Unity 지원

Rider는 Unity 에디터와 스마트 통합을 구축하여 이제 코드 커밋 전 열려 있거나 저장되지 않은 씬이 있는지 확인합니다. 따라서 커밋하기 전 모든 사항을 확실히 저장할 수 있습니다!

Rider는 오랫동안 Unity 클래스 또는 메서드 관련 툴팁에서 Unity 문서 링크를 표시했지만, 이제 External Documentation(외부 문서) 액션 및 단축키를 사용하여 툴팁을 먼저 표시하지 않고도 문서로 이동할 수 있습니다.

Rider는 디버그 중인 프로세스로 수신 연결을 허용하도록 Windows에 올바르게 요청하여 로컬 UWP 플레이어를 디버그할 수 있습니다.

이제 Unity Explorer의 패키지 뷰는 솔루션을 다시 열 때 훨씬 빠르게 표시되며, 열린 폴더까지 기억합니다.

이번 릴리스에서는 IL2CPP 플레이어에 연결 시 Break on Unhandled Exception을 자동으로 비활성화하여 IL2CPP 기반 플레이어 디버그 환경이 개선되었습니다.

언제나처럼 사소한 개선 사항 및 수정 사항이 다양하게 추가되었습니다. 예컨대, [UnitySetup] 메서드는 이제 사용되지 않는 메서드로 표시되지 않으며 이전 프로젝트에 대한 레이어 이름도 코드 완성을 통해 올바르게 표시됩니다. 또한 Unity 기반 검사, 특히 대용량 파일 검사와 관련한 여러 성능 개선 사항이 있습니다.

Unreal Engine 조기 테스트 버전

Unreal Engine용 Rider는 공개 테스트 버전에서 최종 릴리스 버전으로 발전하고 있습니다. 2021.1 릴리스 이후 작업해온 다양한 개선 사항을 선보입니다!

Unreal Engine 5 지원! 네, 맞습니다. 이제 Unreal용 Rider를 기존 Unreal Engine 4 프로젝트와 마찬가지로 신규 Unreal Engine 5 프로젝트에서도 사용할 수 있습니다.

.uproject 파일 열기 지원! 이제 Visual Studio 솔루션 파일을 생성할 필요가 없습니다. Rider는 <프로젝트이름>.uproject 파일에서 바로 Unreal Engine 프로젝트를 열 수 있습니다.

Unreal Engine용 Rider를 Mac에서 사용 가능! macOS에서 <프로젝트이름>.uproject 파일을 열고 Unreal용 Rider의 모든 기능을 이용하세요. 풍성한 C++ 및 HLSL 셰이더 편집, 탐색, 검사 및 리팩터링, 코드 스타일 설정 및 빠른 수정, 블루프린트 지원(블루프린트 내 코드 사용 위치 찾기, Code Vision 링크 및 카운터, 탐색), 디버거 및 Unreal Editor와 통합 등의 기능이 지원됩니다. macOS 버전은 Unreal Engine 4.26 이후 버전에서 작동합니다.

기본 제공 디버거 결과 표시 및 Natvis 관련 개선이 대폭 추가되었습니다. 상속 가능한 속성, 서식 지정자, 사용자 지정 목록 항목 등이 지원됩니다. Natvis에서 지원하지 않는 모든 구조의 한 줄 요약 및 기본 객체 데이터를 볼 수 있는 [Raw View] 노드가 이에 포함됩니다.

Expanded Code Style(확장된 코드 스타일) 설정. Rider는 Unreal 프로젝트를 인식하여 UE 코드 스타일 규칙을 이해하고 준수하도록 자동 구성됩니다. 적절한 스타일을 따르지 않는 코드는 강조 표시되며 빠른 수정이 코드를 자동으로 업데이트합니다.

마지막으로, EzArgs 플러그인을 소개합니다. 이를 사용해 C++ 실행/디버그 구성 인수에 간편하게 액세스할 수 있습니다. 도구 모음의 드롭다운에 새 인수를 입력하면 됩니다.

코드 정리

Reformat File(파일 서식 재지정)Code Cleanup(코드 정리) 대화상자가 하나로 병합되었습니다. 해당 대화상자를 여는 단축키는 모두 동일하게 유지되지만, 이제 두 단계를 한 번에 수행할 수 있는 새로운 통합 뷰가 있습니다. 또한 프로파일 정리에서 실행할 액션을 미리 볼 수 있으며, 버튼을 사용해 프로파일 편집 모드로 쉽게 전환할 수 있습니다.

커밋 대화상자에서 선택한 프로파일 변경 사항에 대한 자동 코드 정리를 사용할 수 있습니다. 또는 Reformat and Cleanup(서식 재지정 및 정리) 대화상자의 새 옵션을 사용하여 현재 파일에서 커밋되지 않은 변경 사항만을 대상으로 서식 재지정/정리를 수행할 수도 있습니다.

CSS, JavaScript 및 SQL에 코드 서식 재지정 액션, import 문 최적화, 코드 재정렬 기능이 지원됩니다. Settings(설정) | Editor(에디터) | Code Cleanup(코드 정리)에서 세부적인 규칙을 설정할 수 있습니다.

사용자 경험

다른 IDE의 설정 가져오기

Rider를 처음 사용하시나요? 이전에 Rider를 설치하거나 사용한 적이 없는 경우, Welcome(시작) 마법사를 사용하여 Visual Studio, Mac용 Visual Studio 또는 Visual Studio Code 등 다른 IDE의 설정을 가져올 수 있습니다. 또한 Rider는 ReSharper 설정도 인식합니다.

다른 IDE의 설정 가져오기 작동 방식을 자세히 알아보세요.

드래그 앤 드롭으로 도구 창 정리

이제 도구 창을 드래그하여 기본 IDE 창 내에서, 또는 별도의 창에서 원하는 위치로 쉽게 이동할 수 있습니다. 도구 창의 이름 표시줄을 클릭해 계속 누른 상태로 드래그한 후 강조 표시된 위치 중 어느 곳에든 드롭하면 됩니다.

투명한 제목 표시줄 macOS 전용

이제 macOS에서 IDE 창이 Full-Screen Mode(전체 화면 모드)가 아닐 경우 제목 표시줄이 투명하게 표시됩니다. 즉, 제목 표시줄과 해당 창의 나머지 부분 사이의 경계선이 없습니다.

고급 설정

Rider에서 사용 사례별 옵션을 구성해야 하는 경우, Preferences(환경 설정)/Settings(설정)의 새로운 Advanced Settings(고급 설정) 노드에서 이를 수행할 수 있습니다. 예를 들어 Distraction-free(집중력 분산 방지) 모드에서 왼쪽 여백을 추가하거나 Comment with Line Comment(줄 주석으로 주석 추가) 액션을 사용한 후에 캐럿을 아래로 이동하도록 설정할 수 있습니다.

환경설정/설정에 추가된 새로운 탐색 옵션

Preferences(환경 설정)/Settings(설정) 창의 오른쪽 상단 모서리에 화살표가 추가되어 탐색을 간편하게 수행할 수 있습니다. 이 화살표를 이용하면 열어본 섹션을 앞뒤로 빠르게 이동할 수 있습니다.

디버거

프로퍼티 값은 기본적으로 디버거에서 평가 및 표시되지만, 평가하는 데 시간이 소요되는 경우도 있습니다. 그래서 Disable Evaluation of Selected Item(선택한 항목 평가 비활성화) 액션을 새롭게 추가했습니다.

특히 네이티브 코드의 경우 메서드 호출 평가 시 디버그 세션이 중단될 수 있습니다. Rider는 이처럼 문제가 발생할 수 있는 호출을 기억하여 이와 관련한 호출을 비활성화합니다.

코드 베이스에서 코드를 단계별로 실행할 경우 각각의 새 파일이 새 탭에서 열리므로 탭 표시줄이 지저분하게 보일 수 있습니다. 이런 경우엔 미리보기 탭이 유용합니다! 미리보기 탭을 사용하면 매번 새 탭에서 각 파일을 열지 않고도 하나의 탭에서 파일을 하나씩 볼 수 있습니다. 이 기능은 Settings(설정)/Preferences(환경 설정) | General(일반) | Editor Tabs(에디터 탭) | Opening Policy(열기 정책)에서 활성화할 수 있습니다.

버전 관리

변경 목록

Default Changelist(디폴트 변경 목록)은 꽤 오랫동안 커밋되지 않은 모든 변경 내용을 저장하는 노드의 이름이었습니다. 이번 릴리스에서는 Changes(변경 내용)이라는 단어를 대신 사용하여 해당 문구를 더욱 정확하게 만들었습니다. 이 업데이트는 새 프로젝트에 적용됩니다.

이제 Rider는 Git 작업 변경에 대한 변경 목록을 자동으로 추가하지 않습니다. 예컨대 Cherry-Pick 작업 수행 시 변경 목록이 생성되지 않습니다.

그러나 새 동작보다 자동 생성을 선호하실 경우 Preference(환경 설정)/Settings(설정) | Version Control(버전 관리) | Changelists(변경 목록)에서 Create changelists automatically(변경 목록 자동 생성) 체크박스를 선택하여 이 기능을 사용할 수 있습니다.

로컬 기록 리비전 내 텍스트 검색

Local History(로컬 기록) 리비전에서 필요한 텍스트를 빠르게 찾을 수 있도록 Local History(로컬 기록) 대화상자에 검색 필드가 추가되었습니다. 이제 변경된 파일을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Local History(로컬 기록) | Show History(기록 표시)를 선택하면 해당 필드에 쿼리를 입력하여 파일 기록 간 빠른 이동이 가능합니다.

GPG 서명

이제 Preferences/Settings(환경설정/설정) | Version Control(버전 관리) | Git에서 GPG로 Git 커밋 서명을 활성화할 수 있습니다. GPG 키를 처음 사용할 경우 먼저 구성이 필요합니다. 기존에 사전 구성된 GPG 키를 사용하려면 드롭다운 목록에서 선택하세요.

지원하는 Git 최저 버전 증가

현재 IDE에서 지원하는 최소 Git 버전은 2.17입니다. 2.17은 여전히 보안 업데이트를 받는 가장 오래된 버전이기 때문에 지원되는 최소 버전을 높였습니다.

에디터

구조 제거

코드 구조 제거 기능을 구현하여 모든 유형의 구조 선택(예: 구조 탐색, 선택 확장/축소, 코드 재정렬)을 통해 코드를 선택하고 삭제할 수 있으며, Rider가 남은 구조 변경을 수행할 수 있습니다. 이 기능을 활용해 메서드 호출 인수의 쉼표 및 콜론, 속성 인수의 괄호 또는 빈 객체 이니셜라이저의 괄호를 제거할 수 있습니다.

빠른 문서

빠른 문서 표시 방식이 업데이트되었습니다. 이제 속성이 강조 표시되므로 더 간편하게 읽고 탐색할 수 있습니다. 제네릭을 사용하는 클래스나 메서드를 검사하는 경우 Rider에서 자리표시자 값을 렌더링하지 않으며, 그 대신 구체적 구현이 표시됩니다.

서식 지정

Pico 괄호(들여쓰기) 스타일을 선호하실 경우 해당 스타일을 사용할 수 있습니다. Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Code Style(코드 스타일) | C# | Braces Layout(괄호 레이아웃) 페이지에서 괄호 레이아웃 탭의 옵션으로 Pico 스타일이 추가되었습니다.

프론트엔드 개발

저장 시 브라우저에서 페이지 다시 로드

브라우저에서 HTML 파일을 미리보기할 경우 HTML 파일 또는 연결된 CSS 및 JavaScript 파일에 저장된 변경 사항에 따라 해당 파일이 자동 업데이트됩니다. 이 기능은 기본적으로 활성화되어 있습니다.

React useState 훅에 대한 이름 변경 리팩터링

이제 Rider에서 useState 값과 함수의 이름이 자동 변경되므로 하나씩 리팩터링하느라 시간을 낭비할 필요가 없습니다. state 값에 캐럿을 놓고 Shift+F6을 누르거나 컨텍스트 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 Refactor(리팩터링) | Rename(이름 변경)으로 이동하세요.

require()에 대한 자동 import 문

ES6 심볼을 완성할 때 Rider에서 누락된 import 문이 추가된다는 사실을 알고 계셨나요? 이제 CommonJS 모듈에도 이러한 기능이 적용되어 코드 완성 시 require import 문이 삽입됩니다.

WebStorm의 새로운 기능 페이지에서 자세히 알아보세요.

Xamarin

.apk 파일과 더불어 .aab(Android App Bundle)을 생성하는 지원이 추가되었습니다. 머지않아 해당 파일은 Google Play 스토어에 앱을 업로드하는 유일한 방식으로 자리 잡을 것입니다.

이제 Rider에서 바로 imageset, appiconsetcolorset에 대한 XCAssets을 생성하고 편집할 수 있습니다. 이로써 다양한 모든 최종 기기 및 지정된 이미지, 아이콘, 색상을 확인할 수 있습니다. 드래그 앤 드롭을 통해 이미지와 아이콘의 추가 또는 교체도 가능합니다. 간편하게 색상을 선택할 수 있도록 인기있는 색상 선택 제어 기능도 추가했습니다.

이제 Android 레이아웃 또는 리소스 파일 편집 시 Resource.Designer.cs 파일이 자동으로 생성되므로 이전에 잘못 표시된 모든 오류가 제거됩니다.

F# 지원

코드 완성의 접미사 템플릿

접미사 템플릿을 사용하면 뒤로 이동하지 않고도 이미 입력한 표현식을 변환할 수 있습니다. F#에 마침내 이 기능이 도입되었으며, 첫 템플릿은 let 템플릿입니다.

액션

F# tuplesunion case를 위한 패턴 구조 분해 액션이 Rider에 추가되었습니다.

이제 코드 재정렬 액션이 지원됩니다. 열거형 또는 공용체 case, record 또는 union case 필드, match 절, 튜플, 함수 매개변수에서 요소를 위/아래, 좌/우로 이동할 수 있습니다.

또 다른 신규 액션인 Optimize Imports(import 문 최적화)를 사용하면 import 문을 정리해야 할 때마다 경고에서 유사한 빠른 수정을 수동으로 트리거할 필요가 없습니다.

기타 주요 개선 사항

  • Inline Variable(변수 인라인화) 리팩터링이 최상위 수준의 let 바인딩에서도 작동합니다.
  • 에디터의 XML 문서 렌더링이 대폭 개선되었습니다.
  • 언어 버전은 프로젝트 프로퍼티에서 지정 가능하며 .fsproj에도 작성됩니다.
  • 여러 빠른 수정, 리팩터링 및 기타 F# 지원 개선 사항이 있습니다. Please take a look at the full release notes for more information.

Apple Silicon 지원 macOS 전용 조기 테스트 버전

완전한 네이티브 M1 칩 지원이 포함된 Rider 2021.2의 조기 테스트 버전을 사용할 수 있습니다. 이 버전에는 x64-to-ARM64 변환이 없으나 다음 런타임이 사용됩니다.

  • 프론트엔드의 경우 Apple Silicon과 호환 가능한 JBR(JetBrains Runtime)
  • 백엔드의 경우 .NET 6 Preview 4

자세한 내용은 다음 페이지를 참조하세요.

데이터베이스 지원

실제 데이터 소스의 생성

DDL 데이터 소스 생성은 매끄럽게 데이터베이스 버전을 관리하기 위해 장기적인 개발 과정에서 이룬 또 한 번의 도약입니다. 이를 통해 DDL 파일을 VCS 시스템에서 관리하면서 데이터베이스 구조가 업데이트될 때마다 파일을 다시 생성할 수 있습니다.

이제 실제 파일을 기반으로 DDL 데이터 소스를 생성할 수 있습니다. DDL 파일은 로컬에서 생성되고 새 데이터 소스는 이를 기반으로 합니다. 이러한 방식으로 언제든 파일을 다시 생성하고 DDL 데이터 소스를 새로 고침할 수 있습니다.

함수와 프로시저에 대한 별도 폴더

데이터베이스 탐색기 설정(톱니바퀴 아이콘)에서 Separate Procedures and Functions(프로시저 및 함수 분리) 옵션을 켜면 즉시 적용됩니다.

SQL Server에는 scala 및 테이블 함수의 전용 노드가 있습니다. PostgreSQL에는 트리거 함수용 노드가 있습니다.

트리거, 키 및 색인에 대한 별도 노드

새로운 데이터베이스 트리 옵션인 Show Constraints and Triggers in the Schema(스키마에서 제약 및 트리거 표시)는 데이터베이스 탐색기에서 트리거, 키 및 색인을 고유한 개별 노드로 지정합니다.

데이터베이스 간의 동의어 코드 완성 SQL Server

이제 데이터베이스 간 동의어 코드 완성 기능을 사용할 수 있습니다.

플러그인

dotCover

이제 dotCover는 하나의 어셈블리 내에서 테스트 클래스의 커버리지 분석을 동시에 실행할 수 있습니다. 일부 경우엔 커버리지 분석 속도가 더욱 향상될 수 있습니다.

.NET Core 및 .NET 프로젝트에서 유닛 테스트 러너를 미리 로드할 수 있습니다. 즉, 유닛 테스트 러너가 메모리에 미리 로드되어 커버리지 분석이 더욱 빠르게 시작됩니다.

살펴볼 만한 다른 추가 개선 사항도 있습니다.

  • 커버리지 트리의 C# 8.0 및 C# 9.0에 대한 지원이 개선되었습니다(기본 인터페이스 구현 등 표시).
  • 이제 커버리지 필터가 변경되는 경우 dotCover에서 Unity 에디터 재시작을 제안합니다.

Dynamic Program Analysis(DPA)

이제 DPA는 각 이슈에 대해 두 가지 값(과거 최댓값과 이전 실행 값)을 저장합니다. 이 방법은 거짓 음성을 피하는데 도움이 됩니다. 이전에는 이슈가 해결되었기 때문이 아니라 시작 조건이 변경되었기 때문에 이슈가 임계값 이하로 떨어지면 이슈 목록에서 사라지는 일이 발생할 수 있었습니다.

또한 다른 몇 가지 개선 사항도 있습니다.

  • 성능 프로파일링을 시작하면 DPA는 자동으로 비활성화됩니다.
  • 이제 Dynamic Program Analysis 창에서 여러 이슈를 선택할 수 있습니다.
  • SuppressMessage 속성을 사용한 이슈 억제는 비동기식 메서드에서 작동합니다.

SpecFlow 공개

SpecFlow is a tool to bring Behavior-Driven Development to .NET. 커뮤니티의 제안에 따라 SpecFlow 개발 팀이 SpecFlow 플러그인을 JetBrains Marketplace에 선보일 수 있도록 지원해 왔습니다. 따라서 구문 강조 표시, 코드 완성, 탐색 및 SpecFlow 테스트용 스켈레톤 코드 생성 등 기능이 추가되었습니다. Andreas Willich와 함께한 웨비나에서 해당 기능들을 심층적으로 살펴보았습니다.

인기 플러그인

초기 설정 시 "Rider 사용자 지정" 마법사에 표시되는 인기 플러그인 목록을 다시 구성했습니다. 이제 해당 목록은 다음과 같습니다.

기타

솔루션 탐색기

node_modules 또는 libs와 같은 대용량 디렉터리는 빠른 텍스트 검색을 제공하는 데 사용되는 파일 인덱싱 속도를 상당히 늦출 수 있습니다. Rider의 컨텍스트 메뉴에서 해당 디렉터리 인덱싱을 중단하도록 설정 가능합니다.

이제 솔루션 탐색기에서 선택한 여러 항목의 파일 프로퍼티(예: 빌드 액션 또는 출력 디렉터리에 복사)를 편집할 수 있습니다.

어셈블리 탐색기 및 디컴파일러

The embedded decompiler now can decompile single-file apps. .NET Core 3.1, .NET 5 및 곧 출시될 .NET 6 SDK의 단일 파일 형식이 지원됩니다.

Assembly Explorer(어셈블리 탐색기)를 사용하면 단일 파일 앱 내에서 번들로 제공되는 어셈블리를 평소와 마찬가지로 탐색할 수 있습니다.

JetBrains Toolbox App

이제 JetBrains Toolbox App의 주요 제품 업데이트 소식을 놓치지 않고 받을 수 있습니다. 다운로드 가능한 새 버전이 있으면 Rider에서 이를 알려주며 업그레이드를 제안합니다. 이를 위해서는 JetBrains Toolbox App 1.20.8804 이상이 필요합니다.

기타

  • 대형 뷰에서 작업하는 Razor 개발자는 에디터에서 지연이 발생할 경우 CPU 집약적 지원 및 자동 제안 기능을 끌 수 있습니다. Preferences/Settings(환경 설정/설정) | Editor(에디터) | General(일반) | Typing Assistance(입력 지원) | Razor | Allow CPU-intensive typing assist(CPU 집약적 입력 지원 허용)에서 해당 설정을 확인할 수 있습니다.
  • 이제 Go To Base/Inheritors(기본/생성자로 이동) 목록에 숨겨진 재정의도 표시됩니다.
  • Microsoft LoggerExtensions의 로그 메시지 템플릿에 대한 지원도 추가되었습니다. 이제 Rider에서 코드를 분석하고, 강조 표시를 추가하며 컨텍스트 액션을 제공합니다.
  • 비동기식 메서드 관련 이슈를 억제하는 옵션이 추가되었습니다.
  • in-process 모드의 32비트 IIS Express("use64Bit": false in launchSettings.json)에서 64비트 웹 애플리케이션을 실행하려는 경우 Rider에서 경고를 표시합니다.