Rider의 새로운 기능

Rider 2023.3은 C# 12의 최신 기능을 포함하여 .NET 8 SDK를 지원합니다. 또한 이번 업데이트는 여러 프로젝트 실행할 때의 향상된 경험, 예측 디버그 모드, 유닛 테스트를 쉽게 만들고 탐색하는 기능을 제공합니다. Rider 2023.3 버전은 AI Assistant의 주요 업데이트를 통해 향상되었습니다.

주요 업데이트

AI Assistant

테스트 단계를 마친 AI Assistant 정식 출시

JetBrains의 AI Assistant가 이제 JetBrains IDE에서 생산성을 높이기 위한 여러 가지 새롭고 향상된 기능과 함께 정식 출시되었습니다. Rider의 최신 개선 사항은 다음과 같습니다.

  • 컨텍스트를 인식하는 AI 채팅
  • AI 액션에 대한 프로젝트 인식 향상
  • 여러 줄 코드 완성
  • 에디터 내 코드 생성
  • 유닛 테스트 생성
  • 문서 생성
  • AI가 제안한 리팩터링에 대한 Diff
  • 사용자 지정 프롬프트 라이브러리를 생성하는 기능

JetBrains AI Service 구독을 통해 Rider의 AI Assistant를 추가 기능으로 사용해 보세요.

데모 보기

NET 8 SDK 지원

.NET 8 SDK 지원

Rider 2023.3은 다음과 같은 .NET 8 SDK 지원을 공식적으로 제공합니다.

  • 프로젝트 템플릿 업데이트.
  • 새 SDK를 대상으로 하는 프로젝트를 생성, 실행 및 디버그하는 기능.
  • 기본 생성자, 인터셉터, 모든 타입을 참조하기 위한 별칭 지시문을 포함한 여러 가지 새로운 C# 12 기능.
  • 약식 람다 식, 중첩 레코드 업데이트, 정적 인터페이스 멤버 및 Let 바인딩 등과 같은 F# 8 기능 지원.
  • @ 변수 지원.
  • Support for Identity API endpoints.

여러 프로젝트 실행

Rider 2023.3에서는 작업 실행 순서 및 조건에 대한 고급 제어를 통해 여러 프로젝트를 동시에 실행하고 디버그할 수 있습니다.

Rider 문서에서 자세히 알아보세요.

데모 보기

타입 종속성 다이어그램

Rider 2023.3에서는 타입 종속성 다이어그램을 통해 솔루션의 다양한 클래스, 구조체, 인터페이스 및 모듈 간의 관계와 종속성을 탐색할 수 있습니다.

Rider 문서에서 자세히 알아보세요.

데모 보기

예측 디버그

예측 디버그

예측 디버그는 Rider의 새로운 고급 디버그 모드로 코드를 실행할 필요없이 코드의 잠재적인 문제를 예측하고 이를 경고합니다.

Rider 문서에서 자세히 알아보세요.

데모 보기

유닛 테스트 생성 및 탐색

이제 Rider를 사용하여 프로덕션 코드에 대한 테스트를 쉽게 탐색하고 생성할 수 있습니다. 이번 릴리스에서는 AI Assistant를 사용하여 테스트를 생성하는 기능도 도입되었습니다.

Rider 문서에서 자세히 알아보세요.

데모 보기

С# 지원

С#12 업데이트

최신 릴리스를 통해 Rider는 기본 생성자, 모든 종류의 타입을 참조하는 별칭 지시문, 컬렉션 표현식, 인터셉터 등 지원되는 C# 12 기능 목록을 확장합니다.

Rider 및 ReSharper 2023.3에 도입된 C# 지원에 대한 최신 업데이트를 알아보려면 이 블로그 게시물을 확인하세요.

데모 보기

Entity Framework 관련 문제를 대상으로 하는 검사

Rider 2023.3에서는 잠재적으로 런타임 예외를 일으킬 수 있는 Entity Framework 관련 코드의 메서드 사용에 대한 몇 가지 새로운 검사 기능을 제공합니다.

이 블로그 게시물에서 새로운 검사에 대해 자세히 알아볼 수 있습니다.

성능

Rider 2023.3은 이제 입력으로 인해 중단된 코드 분석 서비스가 점진적으로 작동할 수 있는 더 많은 시나리오를 인식하고 도움을 줄 수 있습니다. 이 개선 사항은 대용량 파일을 처리하는 데 특히 유용합니다.

Allocation of resources in solution-wide code analysis

또한 최신 업데이트를 통해 솔루션 전반의 코드 분석에 할당할 리소스의 양을 제어할 수 있습니다. 이제 리소스 활용도를 Low(낮음), Moderate(중간), High(높음) 모드 중에서 선택할 수 있습니다.

High(높음)이라는 이름에도 불구하고 이 모드는 에디터에서의 입력을 방해하지 않고 IDE의 응답성을 저하시키지 않도록 설계되었습니다. 코드 입력에 의해 코드 분석이 중단되는 경우에만 CPU 사용량을 점진적으로 늘리기 시작하여 원활한 입력 환경을 유지하는 동시에 솔루션 전체 분석이 백그라운드에서 소스 코드를 처리합니다.

기타 성능 향상

이제 SomeType _field = new()와 같이 타깃 유형 객체 생성이 많은 솔루션의 경우 타입과 생성자의 사용 위치를 찾기가 더 빨라졌습니다. 이 개선 사항은 리팩터링 속도에도 긍정적인 영향을 미칩니다.

또한 CPU 사용량을 증가시키는 삽입된 언어 처리와 관련된 몇 가지 문제를 해결했습니다.

에디터

인레이 힌트에 대한 UX 개선

인레이 힌트에 대한 UX 개선

Rider 2023.3에서는 인레이 힌트를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 표시할 수 있습니다. Ctrl+클릭을 사용하여 인레이 힌트에서 선언으로 이동할 수도 있습니다.

URL 경로 참조에 대한 자동 코드 완성

URL 경로 참조에 대한 자동 코드 완성

URL 처리를 위한 코드 완성 기능을 개선했습니다. 이제 URL 경로가 예상되는 위치에 /를 입력하면 IDE가 코드 완성 팝업에 서버 엔드포인트의 URL을 자동으로 채웁니다. 이때, 애플리케이션 내에서 사용 가능한 API와 연결된 OpenAPI 사양이 모두 고려되므로 URL 경로를 더 빠르게 지정할 수 있습니다.

UX/UI

디버그를 위한 Resume(재개) 버튼

디버그를 위한 Resume(재개) 버튼

예고한 대로, 디버그하는 동안 메인 툴바의 Run(실행) 버튼이 Resume(재개) 버튼으로 바뀝니다.

Save as Solution Filter(솔루션 필터로 저장)

Save as Solution Filter(솔루션 필터로 저장)

Rider 2023.3을 사용하면 솔루션 필터(.slnf 파일)를 빠르고 쉽게 생성할 수 있습니다. 솔루션 필터를 사용하면 작업 중인 특정 상황에 맞게 IDE의 Project(프로젝트) 뷰를 맞춤화하여 크고 복잡한 프로젝트를 더 쉽게 관리할 수 있습니다. 솔루션 필터를 만들려면 솔루션 탐색기에서 솔루션을 마우스 오른쪽 버튼으로 클릭하고 Save as Solution Filter(솔루션 필터로 저장)를 선택합니다.

기본 툴바 숨기기

디폴트 보기 모드에서 메인 툴바를 숨기는 옵션

새로운 UI에 대한 사용자 피드백을 반영하여, 기존 UI와 마찬가지로 IDE의 디폴트 보기 모드를 사용할 때 메인 툴바를 숨길 수 있는 옵션을 구현했습니다.

작업 공간을 정리하고 툴바를 제거하려면 View(보기) | Appearance(모양)를 선택하고 Toolbar(툴바) 옵션을 선택 취소하세요.

Speed Search(빠른 검색) 단축키

Speed Search(빠른 검색) 단축키

도구 창과 대화상자 내에서 빠르게 탐색할 수 있는 Speed Search(빠른 검색) 기능을 이제 단축키로 사용할 수 있습니다. 트리나 목록에 포커스를 놓은 상태로 도구 창의 Options(옵션) 메뉴에서 macOS의 경우 +F, Windows 또는 Linux의 경우 Ctrl+F를 누르거나 간단히 쿼리 입력을 시작하여 쉽게 검색 기능을 이용할 수 있습니다.

macOS용 새 제품 아이콘

macOS용 새 제품 아이콘

Rider 2023.3을 출시하면서 운영 체제의 표준 스타일 지침에 맞게 macOS용 Rider 아이콘을 새롭게 디자인했습니다.

버전 관리 시스템

GitLab 스니펫 지원

GitLab 스니펫 지원

Rider 2023.2 릴리스에 도입된 GitLab 통합을 확장하여 GitLab 스니펫에 대한 지원을 추가했습니다. 이제 IDE 내에서 공개 또는 비공개 스니펫을 직접 생성할 수 있습니다.

새 스니펫을 생성하려면 에디터에서 코드 조각(또는 Project(프로젝트) 도구 창의 파일이나 폴더)을 선택하고 선택 항목을 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 호출한 다음, Create Snippet(스니펫 생성) 옵션을 선택합니다. 스니펫에 대한 일반 정보를 제공하고 개인정보보호 설정을 정의하라는 대화상자가 나타납니다.

올인원 Diff 뷰어

Rider 2023.3에는 변경 사항을 검토하는 방식을 개선했습니다. 이제 각 파일을 하나씩 살펴보는 대신 스크롤 가능한 단일 프레임에서 변경 세트의 수정된 모든 파일을 볼 수 있습니다. 이 새로운 Diff 뷰어는 GitLab, GitHub 및 JetBrains Space 검토와 호환됩니다.

디버그

Modules(모듈)

새로운 Modules(모듈) 뷰를 사용하면 앱에서 사용하는 동적 링크 라이브러리(DLL) 및 실행 파일을 검사할 수 있습니다. 이 보기에서는 모듈 이름, 버전, 애플리케이션 도메인, 모듈 경로, 모듈 심볼 경로와 같은 정보를 찾을 수 있습니다.

Symbols(심볼) 열에는 특정 모듈에 대해 디버거에서 사용하는 심볼이 나열됩니다. 모듈 행을 마우스 오른쪽 버튼으로 클릭하고 Load Symbols(심볼 로드)를 선택하여 모듈 심볼을 관리할 수 있습니다.

Docker 컨테이너 내부의 프로세스에 연결

Docker 컨테이너 내부의 프로세스에 연결

Rider 2023.3부터 디버그를 위해 컨테이너 내부 프로세스에 연결할 수 있습니다. 연결하려면 Attach to Process(프로세스에 연결) 대화상자를 열고 Docker 탭으로 이동한 다음, 대상 컨테이너를 선택합니다. 이 새로운 옵션은 로컬 환경 및 SSH 구성에서 작동합니다.

게임 개발

Unity

UI 툴킷 지원

UI 툴킷으로 작업하면 생산성이 훨씬 더 높아집니다!

Find Usages(사용 위치 찾기)를 사용하면 UXML 파일에서 UI 요소가 사용되는 위치를 확인할 수 있으며 Ctrl+클릭을 사용하여 UXML 파일의 요소에서 C# 코드로 이동할 수 있습니다. 또한 Rider는 C# 쿼리의 UI 요소에 대한 코드 완성 기능도 제공합니다.

이번 릴리스에서는 .tss 테마 파일도 지원하며, 최신 Unity 2022.3 LTS 버전의 모든 USS 프로퍼티에 대한 최신 정보가 포함되어 있습니다.

셰이더 배리언트 지원

셰이더 배리언트 지원

새로운 선택적 미리보기 기능을 사용하면 셰이더 파일을 편집하는 동안 활성화된 키워드를 선택할 수 있습니다. 이를 통해 다양한 전처리기 블록을 활성화하여 이전에 비활성화된 파일 컴포넌트에서 풍부한 Rider 편집 기능을 이용할 수 있습니다.

디버거 업데이트

Unity 디버그는 새 팝업 창에서 텍스처를 볼 수 있는 기능을 통해 훨씬 더 유용해졌습니다. 에디터의 컨텍스트 메뉴에서 일시 중단점를 더 쉽게 추가할 수 있게 되었고, 이제 추적 지점도 Unity 콘솔에 출력됩니다. 이제 Rider는 Attach to Unity Process(Unity 프로세스에 연결) 대화상자에도 멀티플레이어 가상 플레이어 인스턴스를 올바르게 표시합니다.

데모 보기

기타 업데이트

HLSL 코드의 의미 체계 완성, 패키지에 대한 온라인 도움말 URL 수정, 특정 DOTS 시나리오에 대한 잘못된 경고 등 보다 세부적인 수정 사항과 기능들이 있습니다. You can see the full list of changes in the changelog.

Unreal Engine

분석 시 PCH 파일을 무시하는 옵션

분석 시 PCH 파일을 무시하는 옵션

새로운 중요한 기능을 통해 Rider는 명시적으로 포함된 파일의 심볼만 인식하고 사전 컴파일된 헤더(PCH) 파일에서 가져온 모든 항목을 무시할 수 있습니다. 이를 통해 로컬 빌드는 CI 빌드 서버의 정확성을 보장하면서 향상된 컴파일 속도를 위해 PCH 파일을 사용할 수 있습니다.

부수적 업데이트

이번 릴리스에는 빌드 출력에서 일부 파일 이름이 링크로 분석되지 않는 문제, UE 5.3을 찾을 수 없는 문제, Linux 디버거에서 FStringTCHAR 타입이 잘못 표시되는 문제 등 사소한 몇 가지 문제에 대한 수정과 업데이트도 포함되었습니다.

또한 서식 지정 및 표준 문서 툴팁이 표시되지 않는 문제를 포함하여 널리 사용되는 Enhanced UE Documentation 플러그인과 관련된 몇 가지 문제를 해결했습니다.

웹 개발

TypeScript 개선 사항

TypeScript 개선 사항

Rider 2023.3에서는 import type 구문을 추가할 때 발생하는 몇 가지 불편한 불일치를 해결하고 verbatimModuleSyntax를 이용한 작업을 더 쉽게 만들었습니다. 타입을 가져올 때 TypeScript import type 구문 또는 타입 지정자의 사용을 구성하는 옵션을 추가했습니다. 또한 TypeScript 파일에 대한 package.jsonexports 필드 지원도 추가했습니다.

향상된 Angular 지원

향상된 Angular 지원

Angular 템플릿에서 strictTemplate 타입 검사에 대한 지원이 개선되었습니다. 또한 signal, computedeffect와 같은 라이브 템플릿을 포함하여 17 버전 및 시그널의 새로운 제어 흐름 구문을 지원했습니다. Alt+Enter를 눌러 사용할 수 있는 새로운 빠른 수정도 있습니다. 예를 들어, 구성 요소 템플릿에서 @Input@Output 프로퍼티를 생성할 수 있습니다.

HTTP 클라이언트

@ 변수 지원

Rider 2023.3은 다른 IDE에 있는 변수를 정의하기 위해 @ 심볼을 지원합니다.

웹 개발 개선 사항에 대한 자세한 내용은 이 페이지를 참조하세요.

F# 지원

F# 8 지원

F# 8과 함께 제공되는 언어 기능에 대한 지원을 추가했습니다. 중첩된 레코드 업데이트 또는 단축 람다 표현식과 같은 최신 구문 사용을 제안하는 몇 가지 새로운 분석기와 빠른 수정이 있습니다.

새로운 F# 프로젝트 모델

ReSharper 엔진과 F# 컴파일러 서비스 간에 프로젝트 모델이 동기화되는 방식을 새롭게 바꿔 참조 누락으로 인한 거짓 양성 오류 또는 분석 중단과 같은 다양한 문제를 해결했습니다. 또한 F# 프로젝트가 C# 프로젝트를 참조하는 많은 경우에 대한 분석 성능을 향상시킵니다.

기타

사용자 여러분들의 문제 보고 덕분에 기존 분석기 및 빠른 수정, 코드 완성 및 기타 영역에서도 소소한 개선이 이루어졌습니다. Read the full notes on the F# plugin page.

프레임워크 및 기술

중앙 패키지 관리를 위한 코드 완성

중앙 패키지 관리를 위한 코드 완성

이번 릴리스에서는 NuGet 패키지 이름 및 버전에 대한 코드 완성 기능을 통해 CPM 파일에 향상된 지원을 도입했습니다. 이제 이러한 파일은 .csproj 파일과 동일한 지원을 받습니다. 이러한 변경 사항은 개발자가 패키지 참조를 보다 빠르고 정확하게 관리하는 데 도움을 줄 것입니다. 비교적 새로운 이 기능에 대해 더 확실하게 이해하려면 중앙 패키지 관리에 대한 블로그 게시물을 참조하세요.

루트 없는 컨테이너 지원

이제 .NET 기본 이미지에 루트가 아닌 사용자가 포함됩니다. Rider 2023.3은 .NET 8을 타깃으로 하는 프로젝트에 대해 기본적으로 이 사용자로 Dockerfile을 생성합니다. Debug(디버그)Fast mode(빠른 모드)도 지원됩니다.

Bicep 지원

We’ve introduced initial support for Bicep, an Infrastructure as Code language tailored to Azure. 이는 Azure 서비스와의 긴밀한 통합을 목적으로 Azure Resource Manager(ARM) 템플릿으로 변환됩니다. 이제 IDE에서는 Bicep용 언어 서버 프로토콜을 통해 이루어지는 코드 완성과 함께 코드 강조 표시를 제공합니다.

데이터베이스 작업

Rider 2023.3을 사용하여 데이터베이스 작업 시 가장 눈에 띄는 개선 사항은 다음과 같습니다.

  • 가져오기 기능 개선
  • BCP를 통한 테이블 가져오기/내보내기 지원 SQL Server
  • 새로운 객체 지원 SQL Server

데이터베이스 작업 개선 사항에 대한 자세한 내용은 이 페이지를 참조하세요.

플러그인

Dynamic Program Analysis

새로운 ASP.NET Core 검사

새로운 ASP.NET Core 검사

Dynamic Program Analysis에는 ASP.NET Core 프레임워크를 타깃으로 하는 애플리케이션에 대해 세 가지 새로운 검사가 도입되었습니다. 이러한 검사는 애플리케이션의 반응을 저하시킬 수 있는 잠재적인 백엔드 성능 문제를 경고합니다.

이 블로그 게시물에서 자세히 알아보세요.

dotTrace dotUltimate

Improved configurations

Timeline(타임라인) 프로파일링 모드 구성 개선

이번 릴리스에는 Timeline(타임라인) 프로파일링 모드의 고급 옵션을 사용할 수 있는 기능이 도입되어 Rider에 내장된 dotTrace 프로파일러를 사용할 때 유용합니다. 새로운 옵션은 다음과 같습니다:

  • Sampling rate(샘플링 속도) - 프로파일링된 애플리케이션의 성능과 데이터 정확성 간에 최적의 균형을 찾을 수 있습니다. 이제 빠른 샘플링 모드도 지원됩니다.
  • 기본 할당의 Sample allocations every ... KB(할당 샘플링 간격: ...KB) - 수집된 데이터 양(예: 스냅샷 크기)을 줄여 스냅샷 분석 성능을 향상시키는 데 도움이 됩니다.
  • 네이티브 심볼 파일의 Download in background(백그라운드에서 다운로드) - 스냅샷을 만들 때 걸리는 시간을 줄이기 위해 프로파일링 세션 중에 심볼 파일을 다운로드합니다.

dotMemory dotUltimate

  • 이제 Linux에서 실행되는 프로파일러 내에서 프로세스 덤프를 가져와 분석할 수 있습니다.
  • 이제 Linux 및 macOS 운영 체제에서 dotMemory의 독립 실행형 버전을 실행할 수 있습니다.

Entity Framework Core UI

이제 JetBrains Rider 내에서 Entity Framework Core 명령을 위한 UI를 사용할 수 있습니다. 다음은 번들 플러그인이 도움을 줄 수 있는 몇 가지 명령입니다.

  • 마이그레이션 생성
  • 마이그레이션 이름 자동 완성을 포함하여 선택한 마이그레이션으로 데이터베이스 업데이트
  • 기존 데이터베이스에서 DbContext 스캐폴딩 생성
  • 마이그레이션 범위에서 SQL 스크립트 생성

기타

취약한 API 사용을 식별하기 위한 새로운 검사

취약한 API 사용을 식별하기 위한 새로운 검사 보안

Rider 2023.3에는 공개된 취약점을 더욱 명확하고 쉽게 이해하도록 설계된 새로운 보안 검사 기능이 도입되었습니다.

새로운 검사는 프로젝트에서 취약한 NuGet 패키지를 식별하고 코드에서 이러한 라이브러리의 취약한 메서드를 사용하는 인스턴스를 강조 표시합니다. 취약점이 감지되면 시스템이 문제가 있는 코드를 강조 표시하고 이를 해결하기 위한 빠른 조치를 제공합니다. 이러한 조치에는 최신 패키지 버전으로의 업데이트를 권장하고 발견된 취약점에 대한 심층 정보를 제공하는 등이 포함됩니다.