Rider의 새로운 기능

Rider 2023.2는 C#에 대한 향상된 지원과 함께 지역 함수 및 원시 문자열 작업과 일반적인 Entity Framework 문제 해결을 위한 새로운 검사 기능을 제공합니다. UI에 많은 개선 사항을 도입하여 세련되고 현대적이며 맞춤화 수준이 높은 IDE의 새 모습을 완성했습니다. Unity에 대한 DOTS 기능 업데이트와 Unreal Engine에 최적화된 Blueprint 색인화 등 다양한 기능 개선으로 Rider를 이용한 게임 개발이 더욱 강력해졌습니다. Rider 2023.2는 또한 JetBrains AI Assistant 플러그인을 통해 AI 기반 기능을 제공하는 첫 IDE 버전입니다.

주요 업데이트

사용자 지정 가능한 프로젝트 헤더

사용자 지정 가능한 프로젝트 헤더 새 UI

Rider 2023.2에서는 열려 있는 모든 프로젝트를 색상별로 탐색할 수 있습니다! 기본적으로 헤더에 사전 정의된 색상이 제공되지만, 원하는 대로 이를 변경할 수 있습니다. 프로젝트에 새로운 색상을 지정하려면 헤더를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에 액세스합니다. Change Toolbar Color(툴바 색상 변경) 옵션을 선택하고 원하는 색상을 선택합니다. 이 기능을 비활성화하려면 컨텍스트 메뉴에서 Use Project Colors in Toolbar(툴바에서 프로젝트 색상 사용) 옵션을 선택 취소하기만 하면 됩니다.

AI Assistant

AI Assistant 제한적 액세스

이번 Rider 릴리스에는 중요한 신규 기능인 AI Assistant가 추가되었습니다. 초기 AI 기반 기능은 통합형 AI 채팅을 제공하고 일부 핵심 IDE 사용자 워크플로에 자연스럽게 연결됩니다. AI Assistant는 선택된 코드를 분석하고, 커밋의 의미를 설명하며, 사용자의 사양에 맞게 작성된 Unity 파일을 생성할 수 있습니다.

자세히 알아보기

새롭게 작업한 빌드 도구 창

Rider 2023.2의 경우, 성능과 UX/UI 측면 모두에서 Build(빌드) 도구 창이 새롭게 설계되었습니다. 이제 빌드 출력 결과가 왼쪽에는 이벤트 트리로, 오른쪽에는 로그로 표시됩니다. 출력은 '게으른' 방식으로 로드됩니다. 즉, 이벤트 트리에서 살펴보려는 빌드 세부 정보만 로드 및 표시되므로 훨씬 더 CPU의 부담이 적고 탐색하기 쉽습니다.

GitLab 통합 기능

Rider 2023.2에는 GitLab 조기 통합 기능이 도입되어 IDE에서 바로 Merge Requests(병합 요청) 기능을 사용하고 개발 워크플로를 간소화할 수 있습니다.

코드 분석

C# 지원

향상된 원시 문자열 지원

원시 문자열 작업을 위한 새로운 C# 검사와 컨텍스트 액션은 물론, 향상된 입력 지원과 새로운 서식 지정 옵션을 추가했습니다.

  • 여러 줄 축자 문자열을 원시 표현으로 변환하는 Use raw string(원시 문자열 사용) 검사
  • 불필요한 일부 따옴표와 달러 기호를 제거하기 위한 Simplify raw string(원시 문자열 단순화) 검사
  • 따옴표, 보간 중괄호 및 달러 기호를 추가하거나 제거하고 한 줄 표시와 여러 줄 표시 사이를 전환하는 여러 가지 컨텍스트 액션
  • 원시 문자열 내의 내용을 정렬하거나 들여 쓸 수 있는 여러 가지 코드 서식 지정 도구 옵션
  • Enter, Delete 또는 Backspace 키를 누를 때 입력 지원 개선

개선된 원시 문자열 지원에 대해 자세히 알아보려면 해당 블로그 글을 확인하세요.

일반적인 Entity Framework 문제 검사

일반적인 Entity Framework 문제 검사

Entity Framework와 같은 객체 관계형 매핑(ORM) 프레임워크를 사용하여 데이터베이스 작업을 수행할 때 경험할 수 있는 일반적인 문제를 해결할 수 있도록 몇 가지 새로운 검사, 빠른 수정 및 컨텍스트별 탐색 옵션을 추가했습니다.

  • 가능한 'N+1' 문제를 해결하는 데 도움이 되도록 Possible multiple queries to the database for related entities (N+1 problem)(관련 엔티티의 데이터베이스에 대해 실행 가능한 여러 쿼리(N+1 문제))Possible multiple queries to the database (N+1 problem)(데이터베이스에 대해 실행 가능한 여러 쿼리(N +1 문제)) 검사, 해당 빠른 수정 및 'N+1' 문제가 있을 수 있는 코드의 위치를 조사하기 위한 전후 컨텍스트 탐색을 제공합니다.
  • 'N+1' 문제를 탐지하는 검사 외에도 Entity Framework로 작업할 때 Query can return incomplete data for related entities(쿼리가 관련 엔티티에 대해 불완전한 데이터를 반환할 수 있음)라는 유용한 검사를 하나 더 도입했습니다. 또한 이 문제를 조사하는 데 도움이 되는 빠른 수정과 전후 컨텍스트 탐색도 제공됩니다.

이 블로그 글에서 새로운 Entity Framework 관련 검사에 대해 자세히 알아보세요.

지역 함수 작업에 대한 검사

Rider 2023.2에는 지역 함수와 관련해 코드 가독성을 개선하기 위한 두 가지 새로운 검사와 그에 해당하는 빠른 수정이 도입되었습니다.

  • 메서드 끝에 있는 지역 함수 앞에 명시적인 return 또는 continue를 배치하라는 권장
  • 지역 함수를 메서드 또는 블록의 끝으로 이동하고 명시적인 return, continue 또는 다른 제어 흐름 이동 구문을 사용하여 실행 코드에서 이를 분리하라는 제안

새로운 검사에 대한 자세한 내용은 이 블로그 글을 확인하세요.

#nullable 지시문 및 NRT 어노테이션 검사

#nullable 지시문 및 NRT 어노테이션 검사

이제 #nullable 지시문 및 NRT 어노테이션에 대한 몇 가지 새로운 검사를 사용할 수 있습니다.

  • Redundant nullable directive(불필요한 null 가능 지시문) 검사
  • Unused nullable directive(사용되지 않는 null 가능 지시문) 검사
  • Null 가능 참조 타입(NRT) 어노테이션이 기본 멤버의 JetBrains.Annotations 속성과 모순되는 경우를 경고하는 검사

이러한 검사에 대해 자세히 알아보려면 이 블로그 글을 확인하세요.

var 선언에서 탐색 개선

var 선언에서 탐색 개선

이제 다른 타입을 래핑하는 데 사용되는 일반 타입을 var에서 탐색할 때, 모든 탐색 액션(Go to(다음으로 이동)…, Find Usages(사용 위치 찾기) 등)에서 기본 타입이 제안됩니다. 예를 들어, ImmutableArray<Person>? 타입이 있는 변수의 var 키워드에서 Go to declaration(선언으로 이동) 액션을 사용할 때 Rider는 Person으로의 탐색을 제안합니다.

자세한 내용은 다음 블로그 글에서 알아볼 수 있습니다.

기본 생성자 C# 12 테스트 버전

2023.2 버전에서는 C# 12 테스트 버전의 비 레코드 클래스와 구조체에 대한 기본 생성자 지원을 도입했습니다. 초기화가 새로운 기본 생성자를 사용하여 초기화를 표현할 수 있는 타입을 감지하고 코드 반복을 크게 줄이는 빠른 수정을 제안하는 몇 가지 검사가 추가되었습니다.

타입의 초기화를 간단하게 만들면 안 되며, 기본 생성자를 사용해 표현할 수 없는 경우가 있습니다. 이러한 경우를 위해 기본 생성자 매개변수에서 생성자 및 일반 필드로 역교체를 수행하는 몇 가지 컨텍스트 액션을 도입했습니다.

이를 포함하여 그 밖의 다양한 기본 생성자의 기능이 어떻게 작동하는지 확인하려면 별도의 블로그 글을 확인하세요.

람다의 디폴트 매개변수 값 지원

람다의 디폴트 매개변수 값 지원 C# 12 테스트 버전

C# 12 언어 업데이트를 지원하기 위한 작업의 일환으로 람다 식의 디폴트 매개변수 값에 대한 지원을 도입했습니다. 이 구문 인식과 관련된 표준 경고 메시지 세트 외에도, 기존 검사인 The parameter has the same default value(매개변수가 동일한 디폴트 값을 가짐)를 수정하여 람다의 디폴트 매개변수 값을 처리하도록 했습니다. 자세한 내용은 여기에서 확인할 수 있습니다.

폐기 가능한 리소스에 대한 지원 개선

Rider 2023.2에는 객체 폐기를 더 효과적으로 제어하도록 설계된 두 가지 새로운 코드 검사가 도입되었습니다.

  • Return of a variable captured by ‘using’ statement('using' 문으로 캡처된 변수 반환) 검사는 반환된 객체가 즉시 폐기될 때 이를 경고합니다.
  • Return of a task produced by ‘using’-captured object('using'으로 캡처된 객체에 의해 생성된 작업의 반환) 검사는 using 문으로 캡처된 객체에 의해 Task가 생성된 후 즉시 반환되는 상황을 확인합니다.

또한 IAsyncDisposable 인터페이스를 지원하고 async 메서드를 생성하여 리소스를 릴리스할 수 있도록 Generate dispose pattern(폐기 패턴 생성) 기능을 개선했습니다.

이러한 추가 기능에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

C#의 무시 항목 지원 개선

코드 분석에 C#의 무시 항목 지원에 대한 새로운 유용한 기능이 추가되었습니다.

  • 이제 Push-to-Hint 기능으로 무시된 값의 이름과 타입을 빠르게 확인할 수 있습니다.
  • 실제로 사용되는 _이라는 변수와 매개변수에 대해 The _ name is typically reserved for local parameters without usages('_' 이름은 일반적으로 사용 위치가 없는 지역 매개변수를 위해 예약됩니다)라는 경고가 표시됩니다. 이러한 변수와 매개변수는 '무시된' 값처럼 보이지만 실제로는 완전히 반대입니다.
  • Use discard assignment(무시 항목 대입 사용) 검사는 미사용 변수와 매개변수를 무시 항목으로 대체하는 데 사용됩니다.

향상된 무시 항목 지원에 대해 자세히 알아보려면 이 블로그 글을 확인하세요.

코드 가독성 개선을 위한 새로운 인레이 힌트

코드 가독성 개선을 위한 새로운 인레이 힌트

튜플 구성 요소 이름이 있는 인레이 힌트

튜플 인수 또는 반환 타입에 값을 전달할 때 C#에서 구성 요소 이름을 건너뛸 수 있습니다. 그러나 이름이 없으면 타깃 타입을 보지 않은 상태에서 각 구성 요소의 의미를 알기가 더 어려워집니다. 예를 들어, 많은 소프트웨어 개발자는 해당 구성 요소의 의미를 이해하기 위해 튜플(null, false)이 대입된 위치를 확인해야 합니다.

이때 인레이 힌트가 유용할 수 있습니다! Rider 2023.2는 튜플 구성 요소 이름이 구성 요소 표현식에서 아직 명확하지 않은 경우 튜플 구성 요소 이름이 있는 인레이 힌트를 표시하여 코드를 한 눈에 훨씬 쉽게 읽고 이해할 수 있도록 합니다.

Null 및 디폴트 구성 요소에 대해 Rider 2023.2는 타깃 구성 요소에 명시적인 이름이 없더라도 타깃 타입에 대한 힌트를 표시합니다. 문자열과 객체 타입은 일반적으로 그다지 설명적이지 않기 때문에 이 경우는 예외입니다.

이름이 가독성을 향상시킬 수 있는 또 다른 일반적인 경우는 명시적 이름을 Deconstruct 메서드 또는 소스 튜플 구성 요소에서 알 수 있는 구조 분해 패턴입니다. 이러한 힌트는 value is ({ }, true, null)과 같이 일치 항목을 파악하기에 충분한 데이터가 패턴 자체에 없을 때 추가적인 컨텍스트를 제공하려는 목적으로 개발되었습니다.

#pragma warning 지시문에 대한 지원 개선

#pragma warning 지시문에 대한 지원 개선

Pragma 지시문을 사용하면 해당 ID에 의한 컴파일러 경고를 쉽게 비활성화하거나 복원할 수 있습니다. 이러한 ID는 컴파일러와 통신할 수 있는 좋은 방법이지만 사람인 개발자가 이해하기 어려울 수 있습니다. 포괄적인 지식이 없다면 CS0168 또는 CS0618과 같은 ID가 무엇을 의미하는지, 또는 어디에 주의를 기울여야 하는지 명확하지 않을 수 있습니다.

UX/UI

이번 릴리스에서는 Rider 2022.3에서 처음 공개된 새로운 IDE 인터페이스가 마침내 모든 신규 사용자의 기본 환경이 되었습니다. 아직 새 UI를 사용해보지 않았다면 Settings(설정)/Preferences(환경 설정) | Appearance & Behavior(모양 및 동작) | New UI(새 UI) | Enable new UI(새 UI 사용)로 이동하여 한 번 사용해보세요.

전체 IDE 확대/축소

Windows 및 Linux의 메인 툴바에서 햄버거 메뉴 재작업 새로운 UI

Windows 및 Linux의 메인 툴바에 있는 새 UI에서 햄버거 메뉴의 동작을 개선했습니다. 메뉴 아이콘을 클릭하면 이제 요소가 툴바 위에 가로로 표시됩니다.

실행 구성 고정

실행 위젯에 실행 구성 고정 새로운 UI

여러 실행 구성을 더 쉽게 관리할 수 있도록 Run(실행) 위젯에서 기본 구성을 고정하는 옵션을 구현했습니다. 실행 구성을 Pinned(고정) 섹션에 추가하려면 이름 옆에 있는 케밥 메뉴(점 3개)를 열고 Pin(고정)을 선택합니다. 고정된 구성이 여러 개 있는 경우, 목록 내에서 끌어서 놓아 쉽게 재정렬할 수 있습니다.

전체 IDE 확대/축소

메인 툴바 사용자 지정 기능 개선 새 UI

새로운 UI 메인 툴바의 사용자 지정 옵션이 확장되었습니다. 이제 드롭다운 메뉴를 사용해 툴바에 추가할 액션을 빠르게 선택할 수 있습니다. 위젯을 마우스 오른쪽 버튼으로 클릭하고 Add to Main Toolbar(메인 툴바에 추가)를 선택한 다음 사용 가능한 옵션을 둘러보세요.

밝은 헤더가 있는 밝은 테마

밝은 헤더가 있는 밝은 테마 새로운 UI

Rider 2023.2 버전에서는 창 헤더, 툴팁 및 알림 풍선에 그에 어울리는 밝은 색상을 제공하는 Light with Light Header(밝은 헤더가 있는 밝은 테마)라는 또 다른 옵션을 도입하여 Light(밝은) 테마를 개선했습니다.

한 번 클릭으로 프로젝트 디렉터리 간 탐색

한 번 클릭으로 프로젝트 디렉터리 간 탐색

Solution Explorer(솔루션 탐색기) 도구 창에는 프로젝트 폴더를 더 빠르고 즉각적으로 확장 및 축소할 수 있는 새로운 Open Directories with Single Click(한 번의 클릭으로 디렉터리 열기) 옵션이 있습니다. 이 옵션은 케밥 메뉴(점 3개) 아이콘에서 사용할 수 있습니다.

솔루션 탐색기에서 수정 시간별로 파일 정렬

솔루션 탐색기에서 수정 시간별로 파일 정렬

오랫동안 기다려 왔던 옵션인, Solution Explorer(솔루션 탐색기)에서 수정 시간을 기준으로 파일을 정렬하는 기능이 드디어 Rider 2023.2에 구현되었습니다. 이 새로운 기능은 프로젝트의 변경 사항이 저장될 때마다 자동으로 파일을 재정렬합니다. 이 기능을 사용하려면 Solution Explorer에서 케밥 메뉴(점 3개)를 연 다음 Tree Appearance(트리 모양) | Sort by Modification Time(수정 시간을 기준으로 정렬)을 선택합니다.

AI Assistant 제한적 액세스

IntelliJ 기반 IDE 및 .NET 도구의 2023.2 버전에는 AI Assistant라는 새로운 주요 기능이 포함됩니다. 이 기능은 아직 초기 개발 단계에 있으나 IDE의 사용자 기본 워크플로에 AI Assistance를 적용하고, 코드를 심층적으로 이해하는 AI 기능을 통합한 작업을 사용해 볼 수 있습니다. 웹 도움말에서 자세히 알아보세요.

AI Assistant는 현재 JetBrains IDE의 안정화된 릴리스에 번들로 제공되지 않으며, 2023.2.x 버전에 한해 별도의 플러그인으로 설치할 수 있습니다. 현재 AI Assistant 기능은 대기자 명단을 통해 이용할 수 있습니다.

AI Assistant의 채팅 기능

AI Assistant의 채팅 기능

AI Assistant 도구 창을 사용하여 LLM과 대화하거나 질문하거나 작업을 반복 처리하세요. IDE는 프로젝트에서 사용되는 언어 및 기술과 같은 몇 가지 프로젝트별 컨텍스트를 제공합니다. 결과가 만족스러우면 Insert Snippet at Caret(캐럿 위치에 스니펫 삽입) 기능을 사용하여 AI가 생성한 코드를 에디터에 집어넣거나 간단히 복사하세요.

AI 액션... 메뉴

AI 액션... 메뉴

에디터에서 특정 코드 조각을 선택한 후, AI Actions(AI 액션)... 컨텍스트 메뉴에서 액션을 호출해 보세요.

AI Assistant는 다음과 같은 도움을 제공합니다.

  • 선택한 코드에 대한 설명 제공
  • 잠재적인 문제와 리팩터링 옵션 찾기
  • 선택한 코드와 관련하여 새로운 AI 채팅 시작

커밋 메시지 생성 및 설명

이제 커밋 메시지 대화상자에 Generate Commit Message with AI Assistant(AI Assistant로 커밋 메시지 생성) 버튼이 제공됩니다. 이를 클릭하여 변경 내용의 Diff를 LLM으로 보내면 변경 내용을 설명하는 커밋 메시지가 생성됩니다. AI Assistant에게 팀원이 커밋한 내용을 설명하도록 요청할 수도 있습니다.

AI-Assisted Unity F

AI 지원 Unity 파일 생성

AI Assistant를 사용하여 사용자의 사양에 맞게 작성된 Unity 솔루션용 파일을 생성할 수도 있습니다. Solution Explorer(솔루션 탐색기)에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Create with AI Assistant(AI Assistant로 생성)를 선택한 다음 프롬프트를 작성합니다. AI가 파일 내용을 생성한 후 Create New File(새 파일 만들기)을 클릭하면 프로젝트에 파일이 자동으로 추가됩니다.

성능

Rider 2023.2에서는 IDE 시스템이 작동하는 데 필요한 데이터의 캐싱 방식을 수정했습니다. 수많은 성능 테스트를 거쳐 완성된 이번 수정으로, 솔루션을 열 때마다 소비되는 디스크 공간이 눈에 띄게 줄었습니다. 즉, 디스크 입출력에 소요되는 시간이 전반적으로 줄어들고 솔루션 로드 시간이 빨라지는 것을 체감할 수 있을 것입니다.

탐색 및 검색

고급 사용 위치 찾기

고급 사용 위치 찾기

Rider 2023.2에서는 Rider의 Find Usages(사용 위치 찾기) 기능이 업그레이드되었습니다. 이제 심볼(예: 메서드, 클래스 또는 변수)에서 Find Usages Advanced(고급 사용 위치 찾기)를 호출하면 추가 검색 기준을 지정할 수 있는 창이 IDE에 표시됩니다.

자세한 내용은 이 블로그 글을 확인하세요.

탐색 설정

코드 베이스 탐색 경험을 개선하기 위해 Settings(설정)/Preferences(환경 설정) | Editor(에디터)에 있는 전용 Search and Navigation(검색 및 탐색) 페이지에 유용한 옵션을 많이 추가했습니다.

.NET SDK

Roslyn 분석기 및 소스 제너레이터

Rider 2023.2에는 Roslyn 분석기 및 소스 제너레이터 작업을 위한 다양한 개선 사항이 도입되었습니다. 다음은 그 중 몇 가지입니다.

  • Reboot Source Generators(소스 제너레이터 재부팅) 버튼이 추가되어, 사용자 지정 소스 제너레이터로 인해 작동이 멈추는 경우 전체 IDE를 다시 시작할 필요가 없습니다.
  • Rider에서 이제 Problems(문제) 뷰에 소스 제너레이터 예외를 표시하므로 이전에 탐지되지 않았거나 설명되지 않았던 문제를 정확히 잡아낼 수 있습니다.
  • 이제 IDE의 Problems 뷰에 예외의 전체 스택 추적이 제공되므로 오류의 근본 원인을 더 쉽게 찾아낼 수 있습니다.
  • 이제 Solution Explorer(솔루션 탐색기)에서 Roslyn 검사의 심각도 수준을 수정하여 코드 분석 설정을 보다 효과적으로 사용자 지정하고 제어할 수 있습니다.
  • 마지막으로, Rider에서 Roslyn 분석기 및 소스 제너레이터 프로젝트를 만들기 위한 두 가지 새로운 프로젝트 템플릿을 포함시켰습니다.

Docker

WSL에서 Docker 실행

WSL에서 Docker 실행

최신 릴리스에는 빠른 모드에서 Docker를 실행하는 옵션이 도입되었습니다. 또한, Rider 2023.2부터 WSL에서 빠른 모드로 Docker를 사용할 수 있습니다. Docker Desktop 없이 Windows 시스템에서 Docker 컨테이너를 실행하려면 먼저 WSL을 설치하고, Linux 배포판에 Docker를 설치한 다음, Build, Execution, Deployment(빌드, 실행, 배포) | Docker에서 Rider Settings(설정)/Properties(프로퍼티)에 WSL을 추가해야 합니다. 그런 다음 WSL에서 Docker 컨테이너를 실행하고 디버그할 수 있습니다(빠른 모드 활성화 여부와 관계없음).

Docker Compose 실행 구성 라벨

Docker Compose 실행 구성 라벨

Rider 2023.2에 라벨이 도입되어 Docker Compose의 실행 구성을 더 쉽게 세부 조정할 수 있습니다. 이러한 코드 조각을 docker-compose.yml 파일에 추가하면 애플리케이션을 실행하고 디버그하려는 방식여부를 지정할 수 있습니다.

예를 들어, 일부 서비스에 대해 빠른 모드를 비활성화하려는 경우, 해당 서비스에 com.jetbrains.rider.fast.mode: "false" 라벨을 설정하면 됩니다. 디버그 모드를 비활성화하려면 com.jetbrains.rider.debug: "false" 라벨을 사용하면 됩니다.

MAUI용 XAML Hot Reload

.NET MAUI를 대상으로 하는 솔루션에 드디어 Hot Reload를 사용할 수 있게 되었습니다! Rider에서 XAML Hot Reload를 사용하면 모바일 개발자가 MAUI 앱이 실행되는 동안 전체를 다시 빌드하고 다시 배포할 필요 없이 UI 및 코드를 변경할 수 있습니다. 업데이트된 변경 사항은 즉시 적용되어 보다 빠르고 반복적인 개발 경험을 제공합니다.

게임 개발

Unity

이번 릴리스에는 Unity 개발을 위한 기능이 또 도입되었습니다. ShaderLab 파일 편집 경험에 대한 많은 개선 사항, 추가적인 DOTS 기능 업데이트 및 USS 파일에 대한 개선된 지원이 제공됩니다.

Unity용 AI Assistant

새로운 AI Assistant는 문제 해결과 학습을 위한 도구이며, 이 기능이 Unity 개발자에게 실질적인 도움이 되기를 진심으로 바랍니다. Rider는 사용자가 Unity 프로젝트로 작업할 때 AI Assistant에게 이를 알려주므로, "에디터 창은 어떻게 만드나요?" 또는 "메뉴 항목을 어떻게 추가하나요?"와 같은 질문을 하면 사용자가 Unity 에디터의 창 또는 메뉴 항목을 의미한다는 것을 AI Assistant가 인지하고 원하는 작업 수행에 도움을 주는 Unity API를 제안합니다.

Unity 컨텍스트는 또한 추가 동작을 프로토타이핑할 수 있는 좋은 기회를 제공합니다. 파일 생성을 요청하면 AI Assistant가 제안한 내용으로 파일이 자동 생성되는 버튼이 포함됩니다. AI Assistant의 기능이 발전함에 따라 이를 다른 액션과 더 많은 컨텍스트로 확장할 예정입니다.

ShaderLab 지원

이 릴리스에서는 ShaderLab 파일에 대한 Rider 지원이 크게 개선되었으며, 여기에는 새로운 입력 지원, 라이브 템플릿, 이동 경로 채우기 및 Structure(구조) 도구 창, 그리고 Ctrl+클릭으로 셰이더 또는 패스의 이름 선언으로 이동 등이 포함됩니다.

업데이트가 너무 많아서 각각 개별 블로그 글로 소개했습니다! 자세한 내용은 해당 블로그에서 확인하세요.

Unity DOTS

Unity 커뮤니티의 훌륭한 피드백을 바탕으로 데이터 지향 기술 스택(DOTS)을 위한 코드 생성에 몇 가지 유용한 개선 사항을 적용했습니다. Burst 컨텍스트 분석을 더 많은 코드 부분으로 확장하는 외에도 새로운 파일과 라이브 템플릿도 도입했습니다.

DOTS 부분에서도 디버거의 처리가 개선되었습니다. RefRORefRW 타입의 표시가 개선되어 이제 참조 래퍼 이면의 값을 훨씬 쉽게 볼 수 있습니다. 그러나 언제든지 Raw Value(원시 값) 노드를 확장하여 원래 표시를 볼 수 있습니다.

Unity 스타일시트 지원

이번 릴리스에서는 Unity 스타일시트(USS) 파일이 크게 업데이트되었습니다. Rider는 이제 var 함수를 지원하고 최신 Unity 버전에 추가된 다양한 프로퍼티에 대한 강조 표시와 완성 기능을 추가합니다.

기타 업데이트

애셋 데이터베이스 API에서 사용되는 경로에 대한 완성 기능도 추가했습니다. 입력을 시작하면 Rider가 프로젝트의 경로를 제안합니다.

물론, 기타 세부적인 업데이트와 수정 사항도 많이 있습니다. 예를 들어, 때로 유닛 테스트가 Canceling(취소 중) 상태에서 멈추는 문제가 수정되었고, .meta 파일이 더 이상 숨겨진 폴더에 대해 잘못 생성되지 않으며, 이제 새 UI에 맞게 Unity 관련 아이콘이 제공됩니다.

Unreal Engine

Rider 2023.2에서는 또 한 번 Unreal Engine을 위한 훌륭한 지원 업데이트가 이루어졌습니다. 구체적으로, C++에 대한 많은 업데이트와 함께 Hot Reload 및 Live Coding 지원 도입, Blueprint 색인화의 성능 개선, Perforce에 대한 수정 및 지원 업데이트가 포함되었습니다.

최적화된 Blueprint 색인화

최적화된 Blueprint 색인화

이번 릴리스에서는 Blueprint를 색인화할 때 IDE 성능을 개선합니다. 프로젝트를 처음 열면 Rider가 모든 Blueprint 애셋을 색인화하여 Blueprint에서 클래스 사용 위치를 찾고, 직렬화된 데이터의 값을 텍스트 에디터에 직접 표시하고 해당 데이터를 캐싱하며, 작업이 진행됨에 따라 이를 계속해서 최신 상태로 유지합니다.

Rider의 이전 릴리스에서는 C++ 코드와 동시에 이러한 애셋을 색인화하므로 Rider가 작업 준비를 마칠 때까지 시간이 오래 걸렸습니다.

Rider 2023.2에서는 이제 모든 C++ 코드를 색인화한 후 백그라운드 작업으로 애셋을 색인화합니다. 편집하는 동안 코드 강조 표시의 편리함을 누리고 Rider가 계속 애셋을 색인화하는 동안 코드를 탐색할 수 있습니다.

Live Coding 및 Hot Reload 지원

Live Coding 및 Hot Reload 지원

Rider가 이제 IDE에서 Hot Reload 또는 Live Coding 호출을 지원하므로 에디터가 실행되는 동안 Unreal 애플리케이션을 업데이트할 수 있습니다. Unreal 에디터에서 이러한 기능 중 하나가 실행되면 Unreal이 업데이트를 로드하는 동안 Rider에 변경 사항을 컴파일링하는 빌드 및 다시 로드 툴바 버튼이 표시됩니다.

Perforce 작업

Perforce와의 통합을 개선하여 로컬 파일의 상태를 새로 고치는 시간의 단축을 비롯해 여러 수정 및 업데이트가 이루어졌습니다. 이제 Rider는 솔루션을 열 때 자동으로 Perforce 작업공간을 탐지하고 환경 변수뿐만 아니라 레지스트리에서도 P4CONFIG 값과 기타 설정을 가져옵니다.

기타 업데이트

Rider 2023.2에는 C++ 게임 개발을 위한 기타 유용한 업데이트와 수정 사항이 많이 포함되어 있습니다. 매우 큰 프로젝트 파일로 작업할 때 Rider가 작동을 멈추는 특히 까다로운 상황을 개선했습니다. Rider에서 이제 .uproject 기반 솔루션으로 작업할 때 Find In Files(파일에서 찾기) 범위를 플러그인 디렉터리로 쉽게 제한할 수 있습니다. RiderLink 플러그인에 여러 가지 수정 사항이 적용되어 최신 VC++ 툴체인으로 이 플러그인을 빌드할 수 있습니다.

웹 개발

오류 서식 지정 개선

오류 서식 지정 개선

Rider 2023.2에서는 JavaScript 및 TypeScript의 타입 오류를 표시하는 방식을 개선하기 위해 노력했습니다. 오류 및 경고가 이제 더 읽기 쉬운 형식으로 표시되어 코드에서 문제를 더 쉽게 찾을 수 있습니다. 이는 모든 TypeScript 오류와 가장 일반적인 일부 JavaScript 오류에 적용됩니다. 그뿐 아니라 현지화된 오류에도 적용됩니다!

CSS 중첩 지원

Rider now supports the CSS Nesting Module feature. 중첩된 선택자가 식별자 또는 함수 표기법으로 시작하지 않는지 확인하기 위한 구문 지원 및 검사를 구현했습니다.

Tailwind 코드 완성 지원

이제 Rider용 Tailwind 코드 완성 플러그인이 Razor 파일을 지원합니다.

Vue Language Server 지원

Vue Language Server 지원

Vue를 사용하는 모든 분들께 전할 좋은 소식이 있습니다! 더 정확한 오류 탐지를 위해 초기 Volar가 Rider에서 지원됩니다. 기본적으로 Volar는 TypeScript v5.0 이상에 사용되며 이전 버전에는 JetBrains의 자체 구현이 사용됩니다. Settings(설정) | Languages & Frameworks(언어 및 프레임워크) | TypeScript | Vue에서 모든 TypeScript 버전에 Volar 통합 기능을 사용하도록 Vue 서비스를 설정할 수 있습니다.

자세히 알아보기: WebStorm 2023.2의 새로운 기능

버전 관리

백그라운드에서 커밋 검사

백그라운드 커밋 검사

전체 커밋 프로세스를 단축하기 위해 Git 및 Mercurial 커밋 검사 동작을 개선했습니다. 이제 커밋 후 푸시하기 전에 백그라운드에서 검사가 수행됩니다.

특정 코드 줄을 커밋하는 옵션

특정 코드 줄을 커밋하는 옵션

많은 요청이 있었던 만큼, Rider 2023.2에 코드 청크의 특정 부분만 선택적으로 커밋할 수 있는 기능이 드디어 도입되었습니다. 부분 커밋을 수행하려면 청크 내의 줄을 선택하고 컨텍스트 메뉴에서 Include Selected Lines into Commit(선택한 줄을 커밋에 포함)을 호출합니다. 청크는 개별 줄로 나뉘고 선택한 줄이 강조 표시됩니다. 체크박스 또는 컨텍스트 메뉴를 사용해 선택한 부분에 코드 줄을 추가하거나 제외할 수 있습니다.

성능 및 메모리 프로파일링

스냅샷 분석 dotMemory dotUltimate

2023.2 이전에는 메모리 할당 분석을 위해서만 Rider에서 dotMemory를 사용할 수 있었습니다. 2023.2에서는 dotMemory의 독립실행형 버전과 마찬가지로 Rider에서 메모리 스냅샷을 수집하고 이를 분석할 수 있습니다.

  • 스냅샷 분석은 Windows, Linux 및 macOS에서 사용할 수 있습니다.
  • Windows에서는 프로세스 덤프를 가져오고 분석할 수도 있습니다.
  • 일부 기능 및 뷰(예: 자동 스냅샷 검사 및 생성 스택 추적 보기)는 사용할 수 없습니다.
샘플링, 추적 및 줄별 스냅샷을 위한 스레드별 그룹화

샘플링, 추적 및 줄별 스냅샷을 위한 스레드별 그룹화 dotTrace dotUltimate

이제 Call Tree(호출 트리) 뷰를 사용하면 개별 스레드별로 호출 스택을 그룹화하여 스레드별 성능 문제를 더 깊이 있게 이해할 수 있습니다.

Dynamic Program Analysis

  • 이전에는 DPA가 일시 중지된 디버그 시간을 코드 실행 시간으로 잘못 계산하여 거짓 양성 데이터베이스 문제가 발생할 수 있었습니다. 이 문제는 2023.2에서 수정되었습니다.
  • 또한 DPA는 이전에 해당 호출 스택에 람다 함수에 의한 메모리 할당이 포함된 경우 큰 코드 블록을 강조 표시했습니다. 이제 강조 표시가 더 세분화되었습니다.

코드 품질 워크플로

Qodana 코드 품질 플랫폼 통합

정적 분석 도구는 구성하기가 매우 복잡한 것으로 잘 알려져 있습니다. 그러나 Rider 2023.2 릴리스에서는 모든 CI/CD 파이프라인에 적합하게 설계된 스마트 정적 분석 엔진인 Qodana를 완전히 통합하여 이러한 문제점을 제거했습니다.

이 통합은 두 가지 주요 이점을 제공합니다. 첫 번째 이점은 구성이 용이하다는 것입니다. 몇 번의 클릭만으로 분석을 시작하고 전체 프로젝트의 문제 목록을 본 다음, 원하는 CI/CD 시스템에서 Qodana를 구성하여 품질 게이트를 설정할 수 있습니다. 두 번째 이점은 코드 품질 워크플로가 개선되었다는 것입니다. Qodana가 CI/CD 시스템에 구성되면 IDE를 나가지 않고도 즉시 서버 측 분석 결과를 확인할 수 있습니다.

참고로 얼마 전에 Qodana가 테스트 버전 단계를 마치고 정식 릴리스되었습니다. 이 릴리스에 대해 자세히 알아보고 Rider에서 Qodana를 활용하는 방법을 배우려면 이 블로그 글을 확인하세요.

데이터베이스 작업

데이터베이스 작업

Rider 2023.2에서 데이터베이스 연결 대화상자를 재설계하여 사용자를 혼란스럽게 했던 일부 불필요한 옵션을 제거하고 연결 워크플로를 간소화했습니다. 더 흥미로운 개선 사항 중 하나는 이제 Rider가 열린 솔루션에 연결 문자열이 있는지 검사하고 대화상자 내에서 이를 제안한다는 것입니다.

Rider 2023.2의 기타 주목할만한 변경 사항은 다음과 같습니다.

  • Redis Cluster 지원
  • 스키마 마이그레이션 대화상자의 새로운 UI
  • 데이터 에디터에서 시간대 설정
  • 외부 데이터베이스/데이터 공유 지원 [Redshift]

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

F# 지원

F#에서 C#으로의 메모리 내 참조

F#에서 C#으로의 메모리 내 참조

F#에서 C#으로의 메모리 내 참조를 지원하므로 변경 사항을 확인하기 위해 F# 코드를 참조하는 C# 프로젝트를 빌드할 필요가 없습니다. 이러한 변경을 통해 이제 이미 지원되는 C#에서 F#으로의 메모리 내 참조에 더하여 F# 컴파일러 서비스가 실제 C# 소스를 항상 확인하므로 언어 간 리팩터링과 탐색이 개선됩니다.

IntelliJ 플랫폼 언어 삽입 지원

IntelliJ 플랫폼 언어 삽입에 대한 지원이 추가되어 F# 리터럴 내에서 다양한 프런트엔드 언어를 사용할 수 있을 뿐만 아니라 데이터베이스에 액세스하고 웹 링크 또는 이슈를 여는 등의 작업을 수행할 수 있습니다.

파일 멤버로 이동

파일 멤버로 이동

이제 F#에 새로운 Go to File Member(파일 멤버로 이동) 팝업을 사용할 수 있으므로 보다 쉽게 파일 구조를 보고 기본 타입에서 멤버로 이동할 수 있습니다.

공용체 케이스 패턴 업데이트

공용체 케이스 패턴 업데이트

공용체 케이스 패턴 작업을 더 쉽게 만들어주는 몇 가지 멋진 개선 사항을 도입했습니다.

  • 공용체 케이스 패턴을 명명된 필드 패턴으로 변환하는 새로운 컨텍스트 액션
  • 공용체 케이스에 명명된 필드 패턴을 사용하기 위한 새로운 규칙
  • 공용체 케이스 패턴에 대한 규칙이 개선되어 구조 분해 팝업으로 인해 수동 패턴 입력이 방해를 받지 않음

We also want to thank Florian Verdonck for contributing to this improvement.

재정의 생성

재정의가 더 정확히 생성되도록 많은 문제를 수정했습니다. 예를 들어, 이제 생성된 멤버가 항상 올바른 위치에 배치되고, 필요한 경우 생성된 멤버의 타입 서식이 다시 지정됩니다. A huge thanks goes to David Schaefer for contributing to this improvement.

You can find the full list of F# updates and fixes available in Rider 2023.2 here.

플러그인

Settings Sync 플러그인

Settings Sync 플러그인

오랫동안 IDE Settings Sync 및 Settings Repository라는 2개의 플러그인이 혼용되며 교차적 기능을 제공해 왔습니다.

이제 번들로 제공되는 2개의 유사한 플러그인을 사용할 때 발생 가능한 혼란을 방지하기 위해 해당 기능을 Settings Sync 플러그인이라는 하나의 새로운 솔루션으로 통합하여 선보입니다.

플러그인 개발자를 위한 LSP 지원

Rider 2023.2는 플러그인 개발자를 위한 LSP API를 지원합니다. LSP API는 주로 IDE에서 코딩 지원을 위해 특정 LSP 서버를 사용하려는 플러그인 개발자를 대상으로 합니다. 자신만의 프로그래밍 언어나 프레임워크를 만들었다면 LSP 서버와 플러그인을 작성하여 IDE에서 지원을 받을 수 있습니다.

현재, LSP 지원에는 오류 및 경고 강조 표시, 빠른 수정, 코드 완성, 선언으로 이동 등이 포함됩니다. 자세한 내용은 IntelliJ IDEA 팀이 제작한 이 블로그 글을 확인하세요.

Rider용 Feature Trainer

Rider 2023.2에는 신규 사용자와 기존 사용자 모두가 IDE에서 제공하는 광범위한 기능과 워크플로에 익숙해지도록 고안된 새로운 대화형 도구인 Feature Trainer가 도입되었습니다. Feature Trainer는 실무적 학습 방식을 채택하여 단계별 지침과 연습할 수 있는 샘플 코드를 제공합니다. Help(도움말) | Learn IDE Features(IDE 기능 배우기)로 이동하여 한 번 사용해 보세요. Feature Trainer는 새 UI에서만 사용할 수 있습니다.

접근성 개선 사항

JetBrains는 모든 사람들이 다양한 목적으로 이용할 수 있는 제품을 만드는 데 깊은 관심을 가지고 있습니다. 이번 릴리스에서는 시각 장애가 있는 사용자를 포함한 모든 사용자가 제품을 완전하게 이용할 수 있도록 Rider의 접근성을 여러 모로 개선했습니다. 개선 사항은 다음과 같습니다.

  • UI 요소의 적절한 레이블 지정 및 설명
  • Settings(설정)/Preferences(환경 설정)에서 키보드 탐색 및 제어 개선
  • 특히 Run(실행) 탭에서 NVDA와 같은 스크린 리더에 대한 지원 향상
  • 문서, 도움말 리소스 및 NuGet 패키지 관리에 대한 접근성 향상
  • Windows Forms 디자이너의 접근성 향상

기타

원격 디버거에 대한 ARM32 지원

ARM64에 대한 기존 지원 외에도 Rider 2023.2에는 Raspberry Pi와 같이 ARM32에서 실행되는 원격 시스템에 업로드된 원격 디버거 도구에 대한 지원이 도입되었습니다. 이러한 원격 프로세스에 연결하려면 Attach to Process(프로세스에 연결) 대화상자를 사용하세요.

Windows에서 ConPTY로 터미널 마이그레이션

JetBrains Rider에는 IDE 내부에서 명령줄 셸로 작업하기 위한 임베디드 터미널 에뮬레이터가 포함되어 있습니다. 이전 버전의 Rider는 타사 WinPTY 라이브러리를 Windows의 터미널 에뮬레이션 레이어로 사용했습니다. Rider 2023.2에서는 이를 지원하는 Windows 버전용 OS 제공 ConPTY로 전환합니다. 겉으로 드러나는 차이는 없지만 이 전환으로 터미널과 실행 콘솔을 더욱 개선할 수 있는 기회가 열립니다.