Rider 2024.3의 새로운 기능

Rider 2024.3에서는 params 컬렉션, partial 프로퍼티, field 키워드 테스트 버전과 같은 C# 13 개선 사항을 포함하여 .NET 9에 대한 지원이 제공됩니다. 또한, 개별 스레드를 멈춤 및 멈춤 해제하는 고급 디버그 기능을 비롯해 Windows Forms Designer가 .NET 6 이상의 프로젝트에 제공됩니다. Unreal Engine의 콘솔 디버그, Unity의 IL2CPP 디버그, 향상된 Godot 지원은 게임 개발자들이 반길 만한 소식입니다. 이번 릴리스에서는 에디터 내 AI 프롬프트와 사용자 지정 가능한 채팅 모델을 포함한 확장된 AI Assistant 기능이 제공됩니다. 코드 정리, 이름 생성 규칙 및 원격 개발의 기능 개선도 포함됩니다.

주요 업데이트

Monitoring(모니터링) 도구 창

.NET 9 지원

Rider 최신 버전에서는 다음을 제공합니다.

  • 새로운 SDK의 프로젝트 템플릿 지원.
  • 새 SDK를 대상으로 하는 프로젝트를 생성, 실행 및 디버그하는 기능.
  • params 컬렉션, partial 프로퍼티, <0>field 키워드 미리보기 등 최신 C# 13 기능을 지원합니다.

JetBrains 블로그에서 Rider 2024.3의 향상된 C# 13 지원에 대해 자세히 알아보세요.

Windows Forms Designer for .NET projects .NET 6.0+

Windows Forms Designer에서 이제 .NET 6.0 이상을 타깃으로 하는 프로젝트를 지원하므로 Windows Forms 애플리케이션의 UI를 만들고, 확인하고, 수정할 수 있습니다. 이 환경은 .NET Framework를 위한 기존 Windows Forms Designer와 거의 동일한 기능을 제공합니다.

대부분의 DevExpress 제어가 호환되지만 Telerik 및 Infragistics 제어에 대한 지원은 아직 제한적이며 VB.NET Windows Forms 애플리케이션은 지원되지 않는다는 점을 참고하세요.

디버그 중 개별 스레드를 멈춤 및 멈춤 해제하는 기능

Rider 2024.3에는 멀티스레드 애플리케이션을 보다 정밀하게 제어할 수 있도록 디버그 중에 개별 스레드를 멈추거나 멈춤 해제하는 기능이 도입되었습니다. 이 기능을 사용하면 스레드를 마우스 오른쪽 버튼으로 클릭하고 Freeze(멈춤)를 선택하여 나머지 애플리케이션에는 영향을 주지 않으면서 해당 스레드의 실행을 일시 중지할 수 있습니다. 준비가 되면 다시 마우스 오른쪽 버튼을 클릭하고 Unfreeze(멈춤 해제)를 선택하여 스레드 실행을 재개할 수 있습니다. 이 기능은 .NET과 .NET Framework를 대상으로 하는 프로젝트에서만 사용할 수 있습니다.

콘솔에서 네이티브 코드 실행 및 디버그 게임 개발 Unreal Engine

Rider 2024.3은 모든 주요 콘솔에서 C++의 실행과 디버그를 지원하여 중요한 이정표를 세웠습니다! 여기에는 사용자 지정 엔진과 Unreal Engine으로 작성된 게임이 포함됩니다. 이 기능의 이용 가능 여부는 요청에 한해 엄격히 결정되며 콘솔의 공식 개발 프로그램에 참여해야 합니다. 자세한 내용은 여기에서 확인하세요.

게임 개발용 추가 업데이트

사용자 경험

툴팁 색상 지정

이번 릴리스에서는 거의 모든 C# 오류, 경고 및 정보 메시지를 검토하여 가능한 경우 텍스트 색상을 적용했습니다.

툴팁의 약 600개의 메시지가 읽기 쉽게 구성되고, 포함된 코드 요소에 에디터에서 사용되던 색상이 적용되는 방식으로 업그레이드되었습니다.

Run(실행) 위젯: 여러 구성을 동시에 실행

업데이트된 Run(실행) 위젯을 사용하면 이제 Ctrl을 누른 채 디버그 아이콘을 클릭하여 여러 구성을 동시에 실행할 수 있습니다. 또한 실행 중인 모든 구성에 대한 제어 기능이 표시되어 관리가 간소화됩니다.

디폴트 탭의 한도 증가

에디터의 기본 탭 제한이 30개로 늘어나 최근 사용된 탭이 자동으로 닫히기 전에 더 많은 탭을 열어 둘 수 있습니다. Settings(설정) | Editor(에디터) | General(일반) | Editor Tabs(에디터 탭)에서 이 설정을 조정할 수 있습니다.

새로운 터미널의 UI 업데이트

안쪽 여백을 줄여 화면 공간 사용을 극대화하는 더 콤팩트한 디자인으로 새로운 터미널 UI를 업데이트했습니다. 줄어든 안쪽 여백 덕에 공간이 절약되어, 명령어를 사용할 때 가독성이 유지되면서 가시성은 높아집니다.

C# 지원

С#13 업데이트

최신 Rider 릴리스에서는 C# 13의 최신 기능이 다음과 같이 지원됩니다.

  • 새로운 params 컬렉션: params 키워드가 다양한 컬렉션 타입에서 작동하도록 확장되어 추가 대입 없이도 효율적인 메서드 시그니처 사용이 가능해졌습니다.
  • partial 프로퍼티: partial 프로퍼티에 대한 지원 추가로 여러 파일에 프로퍼티 접근자 구현을 분산시킬 수 있어 코드베이스를 더 유연하게 관리하고 더 깔끔하게 정리할 수 있습니다.
  • 새로운 lock 타입: 보다 효율적인 스레드 동기화를 위해 새로운 System.Threading.Lock 타입이 도입되어 기존 lock 구문보다 향상된 성능을 제공합니다.
  • 오버로드 해결 우선 순위: 메서드 오버로드 해결을 더 효과적으로 제어하고 개발자가 복잡한 시나리오에서 어떤 오버로드가 호출되는지 우선 순위를 지정할 수 있도록 하는 새로운 속성이 제공됩니다.
  • field 키워드: field 키워드에 미리보기 기능이 추가되었습니다. 이를 통해 자동 프로퍼티의 백킹 필드에 직접 액세스할 수 있어 프로퍼티 로직이 간소화됩니다.

Learn all about the support of C#13 features in Rider and ReSharper on our blog.

코드 스타일 및 정리

코드 정리

Rider 2024.3에서는 코드 정리 기능이 새롭게 설계되어 성능이 개선되었습니다. 범위 지정된 빠른 수정에서 사용된 동일한 엔진을 활용하여 문제를 완벽하게 해결하고 분석기의 정밀도를 높입니다. 파일 처리를 최적화하기 위해 병렬 전처리도 추가되었습니다.

또한, 이제 파일별로 Code Cleanup(코드 정리) 프로파일을 선택하거나 특정 파일에서 정리를 건너뛸 수 있습니다.

코드 서식 지정

유연성을 더욱 높여주는 새로운 서식 지정 옵션이 추가되었습니다.

  • 등호 = 연산자 주위의 줄 바꿈을 제어하는 ​​새로운 옵션
  • 새로운 Indent ‘break’ from ‘case’('case'의 'break' 들여쓰기) 옵션
  • 새로운 Treat ‘case’ statements with ‘break’ as simple('break'가 포함된 'case' 문을 단순하게 처리) 옵션

이름 지정 스타일

이름 지정 규칙을 보다 정확하게 조정하기 위한 몇 가지 새로운 옵션을 추가했습니다.

  • 지역 함수에 이제 Local functions with ‘async’('async'가 포함된 지역 함수)Task-returning local functions (not ‘async’)(Task를 반환하는 지역 함수(비 'async'))의 두 가지 옵션이 제공됩니다.
  • 이름에 async 접미사가 붙은 메서드 중 async 한정자로 표시되지 않았지만 Task와 유사한 타입을 반환하는 메서드를 지원하기 위해, 메서드에 새로운 Task-returning method (not ‘async’)(Task를 반환하는 메서드(비 'async')) 옵션이 제공됩니다. 이 옵션은 인터페이스에서 async 한정자를 사용할 수 없지만 구현 시 Task 타입을 반환하는 메서드를 선언할 때 유용합니다.

코드 주석

여러 줄 TODO 주석 지원

Rider 2024.3에서는 이제 여러 줄로 된 TODO 주석을 지원하여 연이은 줄에서 들여쓰기된 텍스트를 동일한 TODO 항목으로 처리할 수 있습니다. 이 향상된 기능을 통해 코드베이스에서 관련된 메모와 작업을 더 쉽게 그룹화할 수 있습니다. 이제 여러 줄에 걸쳐 TODO에 컨텍스트를 추가하여 가독성과 구성을 개선할 수 있습니다.

F# 지원

최신 언어 기능과 에디터 도구의 개선 사항을 모두 적용하기 위해 F# 컴파일러 서비스를 업데이트했습니다.

유형 힌트

F# 지원에 이제 패턴과 멤버에 대한 추론 타입 힌트가 표시됩니다. 새롭게 구현된 Push-to-Hint(힌트까지 푸시) 기능으로 값의 로컬 타입을 쉽게 확인할 수 있습니다.

코드 편집

이제 코드 완성 기능이 함수, 값, 공용체 case 및 활성 패턴을 가져올 수 있습니다. 붙여 넣은 코드를 업데이트하는 데 도움을 주는 새로운 빠른 수정도 제공됩니다.

함수 표현식을 매개변수로 변환하고 이를 새로운 컨텍스트 액션과 일치시킬 수 있습니다.

C# 상호 운용성

참조된 C# 프로젝트를 분석할 때 성능이 크게 개선되었고 다양한 거짓 양성 오류가 수정되었습니다.

더 많은 변경 사항, 수정 사항 및 새로운 기능은 GitHub 페이지에서 확인할 수 있습니다.

버전 관리

시작 화면의 브랜치 이름

시작 화면에 이제 브랜치 이름이 표시되어 여러 프로젝트 버전을 다룰 때 체계적으로 정리하고 작업 디렉터리 사이를 쉽게 전환할 수 있습니다.

백그라운드에서 이루어지는 커밋 전 검사를 비활성화하는 옵션

이제 Settings(설정) | Version Control(버전 관리) | Commit(커밋)에서 새로운 Run advanced checks after a commit is done(커밋 완료 후 고급 검사 실행) 옵션을 사용하여 커밋 프로세스 중에 백그라운드 검사를 관리할 수 있습니다. 이 설정을 사용하면 커밋한 후 테스트와 검사를 실행할지 여부를 결정할 수 있습니다. 커밋하기 전에 이러한 검사를 완료하려면 이 기능을 비활성화하면 됩니다.

Find in Files(파일에서 찾기) 업데이트

Find in Files(파일에서 찾기) 기능이 새로운 검색 범위인 Project Files Excluding Git-Ignored(프로젝트 파일에서 Git 무시 파일 제외)로 향상되었습니다. 이 옵션을 사용하면 .gitignore 파일에서 무시된 모든 파일이 검색 결과에서 제외되므로 프로젝트를 검색할 때 관련 코드에만 집중할 수 있습니다.

원격 개발

Rider의 원격 개발이 공식적으로 베타 버전을 벗어났습니다!

베타 단계에서 특히 입력 안정성에 중점을 두고 최종적으로 완성도를 높여 이제 Rider의 원격 개발 기능이 모든 핵심 개발 워크플로를 안정적으로 처리할 수 있게 되었습니다.

코드 편집과 디버그부터 버전 관리까지 모든 작업이 마치 로컬 인스턴스에서 수행하는 것처럼 원활하게 작동하여 원격 환경에서도 부드럽고 강력한 성능을 경험할 수 있습니다.

이 블로그에서 지원되는 워크플로에 대해 자세히 알아볼 수 있습니다.

게임 개발

Unreal Engine

이번 릴리스에서는 Windows의 하위 프로세스가 자동으로 디버그됩니다. 디버그 세션 중에 생성된 모든 프로세스가 세션에 참여하며 하위 프로세스의 중단점에 도달하게 됩니다.

디버그할 하위 프로세스와 건너뛸 하위 프로세스를 결정하는 규칙을 구성할 수도 있습니다.

In addition to the exciting news about Rider’s support for debugging on consoles, this release also introduces support for the Verse programming language, new code insight features, and integration with Live++ for the hot-reload of C++ applications.

새로운 코드 분석 기능에 관한 자세한 내용은 ReSharper C++의 새로운 기능을 살펴보세요.

Unity

Rider 2024.3은 IL2CPP 빌드로 디버그 경험을 개선하며 Mono에서와 동일한 기능을 제공합니다. 즉, 디버거에서 Active Scenethis.gameObject 노드를 볼 수 있고, GameObject 인스턴스의 ChildrenComponents도 볼 수 있습니다. 또한 Immediate(즉각), Collection(컬렉션) 및 IL2CPP 빌드와 관련된 문제도 해결합니다.

이제 Unity 프로파일러 호출 스택에서 항목을 두 번 클릭하면 소스 파일이 Rider에서 열리고, 프로젝트에서 파일을 검색할 때 Rider가 불필요한 부분을 더 효과적으로 필터링하여 제거해줍니다.

Godot

이번 릴리스에서는 C# Hot Reload 지원 및 Godot의 중요 버그가 수정되었습니다. 이제 Rider는 게임이 실행되는 동안에도 사용자가 C# 코드에서 변경한 모든 내용을 애플리케이션에 적용합니다.

Rider는 또한 Godot 4.4에서 적용될 GDScript 디버그 업데이트를 받아들일 준비가 되어 있습니다. 이 업데이트로 이전 버전의 Godot보다 훨씬 더 풍부한 객체 프로퍼티 뷰가 제공됩니다.

웹 개발

보다 깔끔해진 디렉터리 검색 결과

이제 프로젝트 디렉터리에서 Find in Files(파일에서 찾기)를 사용할 때, Rider가 기본적으로 node_modules 결과를 ​​제외하여 관련 없는 파일로 인한 혼란을 줄여줍니다. Settings(설정) | Advanced Settings(고급 설정)에서 Search in library files when “Directory” is selected in Find in Files(파일에서 찾기에서 '디렉터리'가 선택된 경우 라이브러리 파일에서 검색) 옵션을 활성화하여 이전 동작을 복원할 수 있습니다.

프레임워크 구성 요소 탐색 및 이름 변경 개선

Vue, Svelte 및 Astro 구성 요소에 대한 에디터 내 힌트를 개선했습니다. Show component usages(구성 요소 사용 위치 표시) 액션으로 이제 import 문 및 마크업 템플릿 모두에서 사용 위치를 찾을 수 있습니다. 또한 일반 파일 참조를 검색할 때 구성 요소 사용 위치를 제외하기 위해 Show Component Usages 필터도 추가했습니다. Rename(이름 변경) 리팩터링도 업데이트되어 구성 요소 파일의 이름을 바꿀 때 사용 위치를 포함하는 옵션이 추가되었습니다.

Tailwind CSS 클래스의 색상 미리보기

Tailwind CSS 클래스의 색상 미리보기가 이제 에디터에 인라인으로 표시되어 색상을 구분하기가 더 쉬워졌습니다. 언어 서버 프로토콜(LSP)의 textDocument/documentColor 메서드에 대한 지원이 추가되어 모든 LSP 기반 플러그인이 바로 이 기능을 제공합니다.

자세한 정보는 WebStorm의 새로운 기능 페이지를 참조하세요.

데이터베이스 작업

Text-to-SQL: AI로 생성된 결과의 에디터 내 Diff

에디터에서 AI Assistant로 작업할 때의 경험을 개선했습니다. 이제 AI Assistant에게 코드 조각으로 어떠한 작업을 요청하면 에디터 영역에 원래 코드와 생성된 코드의 Diff가 포함됩니다. AI Assistant의 제안은 다른 색상으로 강조 표시되며 여백에 Revert(되돌리기) 아이콘이 표시됩니다. 동일한 영역에서 사용자가 쿼리 결과를 직접 편집할 수도 있습니다. 사용자의 변경 사항도 같은 방식으로 강조 표시됩니다. 예를 들어, AI Assistant에게 쿼리를 사용하여 더 많은 데이터를 가져오도록 요청한 다음, 생성된 결과에 ORDER BY 절을 추가할 수 있습니다.

AI Assistant로 SQL 오류 처리

AI Assistant를 사용하여 SQL 쿼리 실행 오류를 처리하는 데 유용한 몇 가지 액션이 오류 메시지 영역에서 제공됩니다. Explain with AI(AI로 설명)를 선택하면 AI 채팅이 열리고 자동으로 프롬프트가 전송되며 AI Assistant가 관련 오류 설명을 제공합니다. Fix with AI(AI로 수정) 액션을 이용하면 쿼리 실행 오류의 수정안이 에디터에 생성됩니다.

자세한 정보는 DataGrip의 새로운 기능 페이지를 참조하세요.

AI Assistant

향상된 컨텍스트 관리 기능

이번 업데이트에서는 AI Assistant가 제안을 제공할 때 고려하는 컨텍스트를 보다 투명하고 직관적으로 관리할 수 있도록 했습니다. 새로워진 UI를 통해 컨텍스트로 포함된 모든 요소를 ​​보고 관리할 수 있어 완벽한 가시성과 통제력이 제공됩니다. 열려 있는 파일과 그 안에서 선택한 코드가 이제 자동으로 컨텍스트에 추가되며, 필요에 따라 파일을 쉽게 추가하거나 제거하고 워크플로에 맞게 컨텍스트를 사용자 지정할 수 있습니다. 또한, 프로젝트 전체 지침을 첨부하여 코드베이스 전체에서 AI Assistant의 응답을 원하는 방향으로 유도할 수 있습니다.

채팅 모델 제공자를 선택하는 옵션

이제 Google Gemini, OpenAI 또는 사용 중인 시스템에 있는 로컬 모델 중에서 원하는 AI 채팅 모델을 선택할 수 있습니다. 이 확장된 선택지를 통해 특정 워크플로에 맞게 AI 채팅의 응답을 사용자 지정하여 적응력이 보다 높고 개인화된 경험을 제공할 수 있습니다.

디컴파일러

어셈블리 매니페스트용 IL 코드 제공

IL Viewer(IL 뷰어) 도구 창에서 이제 다음을 포함하여 어셈블리 매니페스트용 IL 코드를 제공합니다.

  • 이름, 사용자 지정 속성 등의 어셈블리 및 모듈 정보
  • 참조된 어셈블리 및 모듈
  • 포워드된 타입.
  • 파일 및 리소스 목록

이 IL 코드는 텍스트 에디터의 캐럿이 어셈블리나 모듈 속성에 있거나, 외부 어셈블리의 경우 <AssemblyName>.cs 파일 내부에 있을 때 표시됩니다.

기본 생성자 지원

기본 생성자를 선언한 클래스로 작업할 때, 디컴파일러에서 이제 생성자와 해당 매개변수를 올바르게 표시하므로, 디컴파일링된 코드에서 객체가 바로 인스턴스화되는 방식을 완벽하게 확인할 수 있습니다.