ReSharper 2025.2 릴리스는 성능 개선, 흥미로운 신규 언어 기능, 개발자 생산성 향상을 제공합니다. Out-of-Process(OOP) 모드가 테스트 버전으로 제공되고 C# 14 및 C++의 지원이 확장되어, 이전보다 더 빠르게 현대적이며 신뢰할 수 있는 코드를 작성할 수 있습니다.
ReSharper 2025.2는 Microsoft Visual Studio에서 ReSharper를 Out-of-Process(OOP)로 실행할 수 있도록 지원하는 최초의 안정적인 릴리스입니다. 오랫동안 기다려 온 이 아키텍처 변경은 ReSharper 프로세스를 Visual Studio 프로세스에서 분리하여 향후 더 나은 안정성과 성능을 위한 토대를 마련합니다.
Out-of-Process 모드로 전환하려면, ReSharper의 Options(옵션) | Environment(환경) | Products & Features(제품 및 기능)로 이동한 후, Run ReSharper in separate process(별도 프로세스로 ReSharper 실행) 옵션을 선택하세요. IDE를 재시작하지 않고도 변경 사항을 적용하고 ReSharper를 다시 초기화하려면, Save and restart(저장 후 재시작) 버튼을 클릭합니다.
ReSharper 2025.2 버전에서는 솔루션을 열자마자 Ctrl+T로 파일 탐색을 즉시 시작할 수 있어, 전체 색인 생성을 기다릴 필요가 없습니다.
메모리 오버헤드를 줄이고 _ViewImports 및 _ViewStart 같은 include 파일의 불필요한 처리를 제거했습니다. Find Usages(사용 위치 찾기)가 이제 Razor 구성 요소 유형을 더 빨리 찾으며, 여러 가지 잘못된 경고 문제가 제거되었습니다.
이제 Rename(이름 변경) 리팩터링이 훨씬 빨라지고 더 투명해졌습니다. 유효성 검사 단계를 병렬화하고, 진행 피드백을 개선하였으며, 메모리 사용량을 줄였습니다.
즉석 리팩터링의 성능 영향을 줄여 입력 방해를 최소화하고 전반적인 편집 경험을 개선했습니다.
이제 색인 생성 중에 순차적 디스크 작업을 강제하는 기존 로직이 제거되어 ReSharper가 최신 SSD의 성능을 더 효과적으로 활용합니다. 이 로직은 원래 HDD에 최적화되어 있었으며, SSD는 HDD의 물리적 한계에서 벗어나 높은 처리량의 병렬 I/O 작업이 가능합니다. 이러한 변경과 함께 백그라운드 처리가 최적화되어 최신 하드웨어에서 색인 생성 및 시작 속도가 조금 더 빨라졌습니다. 소스 제너레이터에 대한 참조가 포함된 프로젝트의 솔루션 로드도 개선되었습니다.
이러한 성능 개선의 뒷이야기를 자세히 알고 싶으신가요? 블로그를 방문해 자세히 알아보세요.
이제 ReSharper를 Visual Studio Code용 확장 프로그램으로도 이용할 수 있습니다. 워크플로의 일부로 Visual Studio Code를 사용하는 경우 이제 에디터 내에서 바로 친숙한 ReSharper 기능을 이용할 수 있습니다. 코드 검사, 빠른 수정, 탐색 및 Rename(이름 변경) 리팩터링은 모두 동일한 기본 엔진으로 지원되고 구동됩니다.
VS Code용 ReSharper는 공개 테스트 버전 기간 동안 무료로 사용할 수 있습니다.
ReSharper 2025.2는 최신 C# 14의 추가 기능을 조기 지원합니다.
ReSharper 테스트 버전은 코드 완성 기능, 코드 분석, Find Usages(사용 위치 찾기), Rename(이름 변경) 리팩터링 등을 제공하여 새로운 C# 14 확장 멤버를 지원합니다.
C# 14는 partial 이벤트와 생성자를 통해 소스 생성의 가능성을 확장합니다. ReSharper는 이러한 새로운 사용 사례를 처리하도록 업데이트되었습니다.
ReSharper 2025.2에서는 새로운 a?.b = c 및 a?[i] = c 패턴을 사용하여 코드를 간소화하고 잠재적인 null 값을 안전하게 처리할 수 있습니다.
ReSharper는 C# 14에 도입된 사용자 정의 복합 대입 연산자를 정확히 이해하고 처리합니다.
ReSharper는 이제 새로운 #! 및 #: 전처리기 지시문을 인식합니다.
ReSharper 2025.2에는 ILogger를 사용하여 더 효율적이고 유지 관리하기 쉬운 로깅 코드를 작성하는 데 도움이 되는 여러 가지 개선 사항이 도입되었습니다.
LoggerMessage로 생성된 메서드로 변환하는 새로운 리팩터링 옵션 이제 ReSharper는 ILogger 메서드 호출을 LoggerMessage 기반 메서드로 자동 변환합니다. 이렇게 하면 런타임 오버헤드가 줄어들고 성능이 향상되며, 특히 처리량이 많은 애플리케이션에서 효과적입니다.
ILogger<T>에 더 스마트해진 코드 완성 제공 ILogger<>를 작성할 때 ReSharper는 이제 대괄호 안에 현재 타입을 코드 완성 기능으로 제안하여 설정에 걸리는 시간을 줄여줍니다.
[LoggerMessage] 속성에서 매개변수 이름 처리 개선 ReSharper는 [LoggerMessage] 속성 내 매개변수 이름에 대한 편리한 완성 기능을 제공하고 해당 매개변수의 이름이 변경되면 코드를 올바르게 업데이트합니다.
LoggerMessage 사용에 대한 새로운 검사 이제 ReSharper는 [LoggerMessage] 속성에서 누락된 매개변수와 중복된 로그 항목을 탐지하고 이를 해결하기 위한 빠른 수정 사항을 제공합니다.
ReSharper는 범위 인덱서를 사용할 수 있는 더 많은 경우를 인식합니다. 예를 들어, 해당되는 경우 s.Substring(a, b - a) 대신 s[a..b]를 제안합니다.
ReSharper는 이제 범위 표현식에서 불필요한 경계를 더 효과적으로 식별하므로 슬라이싱 작업을 더 명확하게 안정적으로 수행할 수 있습니다.
ReSharper는 이제 Roslyn의 검사 설정과 더 긴밀하게 통합되어 #pragma 및 Roslyn의 심각도 구성을 통해 검사를 활성화하거나 비활성화할 수 있습니다.
이제 인플레이스 리팩터링이 인레이 힌트와 함께 표시되어 찾기가 더욱 쉽고 JetBrains IDE와의 일관성이 높아졌습니다. ReSharper | Settings(설정) | Environment(환경) | Editor(에디터) | Appearance(모양)에서 모양을 구성할 수 있습니다.
이제 전용 컨텍스트 액션으로 메서드를 지역 함수로 빠르게 변환하여 코드 구조와 가독성을 개선할 수 있습니다.
ConstantExpected 속성에 대한 지원 ReSharper는 [ConstantExpected] 속성으로 표시된 매개변수에 상수가 아닌 값이 전달될 때 경고를 표시하여 미묘한 버그를 방지하는 데 도움을 줍니다.
switch 암에 대한 새로운 검사 ReSharper는 중복된 switch 암을 탐지하고 이를 병합하는 빠른 수정 기능을 제공하여 코드를 더 깔끔하게 만듭니다.
ReSharper 2025.2는 최신 C++ 개발을 위한 개선 사항을 도입합니다.
#if 블록 내 코드를 편집할 때, 활성화된 빌드 구성을 전환하지 않고도 코딩 지원 기능을 모두 사용할 수 있습니다.#pragma 지시문 내 변수 참조 지원 및 기타 새로운 코딩 지원 기능을 제공합니다.C++ 업데이트에 대한 자세한 내용은 ReSharper C++ 2025.2의 새로운 기능 페이지에서 확인할 수 있습니다.
2025.2 릴리스에서는 Visual Studio용 TeamCity 확장 프로그램에 대한 지원이 중단됩니다.
이러한 변경 사항은 도구를 단순화하고 가장 효과가 큰 개발자 경험에 집중하기 위한 당사의 지속적인 노력의 일환입니다. 일부 워크플로가 영향을 받겠지만, 이러한 결정은 궁극적으로 도구의 성능을 향상하고 에코시스템을 더욱 지속 가능하게 만들 것이라고 믿습니다.
ReSharper 2025.2에서는 CQRS(Command Query Responsibility Segregation) 패턴을 구현하는 데 도움이 되는 실험적 검사를 도입했습니다. 이러한 검사는 이름 지정 불일치, 컨텍스트 교차, 어노테이션과 이름 간의 충돌을 탐지합니다. 빠른 수정에서는 불필요한 속성을 제거하거나 규칙을 따르도록 엔티티의 이름을 바꿉니다.
CQRS 유효성 검사는 기본적으로 비활성화되어 있으며 Options(옵션) | Code Inspection(코드 검사) | CQRS Validation(CQRS 유효성 검사)에서 활성화할 수 있습니다. 필요한 어노테이션은 JetBrains.Annotations에서 제공됩니다.