ReSharper 2023.3은 C# 12의 최신 기능을 지원합니다. 또한 새로운 엔티티 관계 다이어그램과 엔티티 관련 문제에 대한 검사도 포함되었습니다. 이번 업데이트에서는 최적화된 배경 코드 분석 및 코드 분석에 할당된 리소스의 양을 제어하는 기능을 포함하여 몇 가지 주요 성능 개선을 제공합니다. ReSharper 2023.3 출시 버전은 AI Assistant의 주요 업데이트를 통해 향상되었습니다.
30일 무료 평가 이용 가능
JetBrains의 AI Assistant가 이제 생산성을 높이기 위한 여러 가지 새롭고 향상된 기능과 함께 정식 출시되었습니다. ReSharper의 최신 개선 사항은 다음과 같습니다.
JetBrains AI Service 구독을 통해 ReSharper의 AI Assistant를 추가 기능으로 사용해 보세요.
ReSharper 2023.3은 이제 입력으로 인해 중단된 코드 분석 서비스가 점진적으로 작동할 수 있는 더 많은 시나리오를 인식하고 도움을 줄 수 있습니다. 이 개선 사항은 대용량 파일을 처리하는 데 특히 유용합니다.
또한 최신 업데이트를 통해 솔루션 전반의 코드 분석에 할당할 리소스의 양을 제어할 수 있습니다. 이제 리소스 활용도를 낮음, 보통, 높음 모드 중에서 선택할 수 있습니다.
이름에도 불구하고 높음 모드는 에디터에서의 입력을 방해하지 않고 IDE의 응답성을 저하시키지 않도록 설계되었습니다. 코드 입력에 의해 코드 분석이 중단되는 경우에만 CPU 사용량을 점진적으로 늘리기 시작하여 원활한 입력 환경을 유지하는 동시에 솔루션 전체 분석이 백그라운드에서 소스 코드를 처리합니다.
이제 SomeType _field = new()
와 같이 타깃 유형 객체 생성이 많은 솔루션의 경우 타입과 생성자의 사용 위치를 찾기가 더 빨라졌습니다. 이 개선 사항은 리팩터링 속도에도 긍정적인 영향을 미칩니다.
또한 CPU 사용량을 증가시키는 삽입된 언어 처리와 관련된 몇 가지 문제를 해결했습니다.
Extract local function(로컬 함수 추출) 리팩터링의 사용자 환경을 개선했습니다. 과거에는 사용 가능한 옵션 목록에서 새 함수의 위치를 선택하기가 어려웠으며, 해당 선택이 어떤 영향을 미칠지 명확하지 않았습니다.
업데이트된 UX를 사용하면 이제 코드 에디터에서 직접 새 함수의 시그니처를 미리 볼 수 있습니다. 이를 통해 삽입될 위치와 선택이 삽입된 함수에 어떤 영향을 미칠지 정확하게 이해할 수 있습니다. 또한 클로저가 아닌 매개변수로 변환될 변수와 새 위치에서 호출이 가능하도록 재배치될 다른 함수를 확인할 수도 있습니다.
Visual Studio와 ReSharper의 빠른 액션을 신중하게 사용하면 서로를 잘 보완할 수 있습니다. ReSharper 2023.3에서는 두 시스템의 장점을 쉽게 활용할 수 있습니다. 이제 ReSharper의 빠른 액션만 사용하거나, 둘 모두에 대한 제안 아이콘을 표시하거나, 단일 액세스 지점인 ReSharper의 전구 메뉴에서 모든 빠른 액션을 호출하도록 설정을 조정할 수 있습니다.
ReSharper 2023.3에는 Copy Code Reference(코드 참조 복사) 액션을 위한 액세스 키가 도입되었습니다. 이제 한 번의 키 입력으로 컨텍스트 메뉴의 각 코드 참조 타입을 선택할 수 있습니다.
ReSharper C++ 2023.3에서는 비활성 코드 작업이 훨씬 쉬워졌습니다. 조건부 전처리기 브랜치 내 현재 비활성 코드 블록의 코드 완성 기능이 이제 전역 범위의 심볼을 제안합니다. Find Usages(사용 위치 찾기)도 업데이트되어 이제 전용 결과 섹션에 비활성 코드와 매크로 본문에 있는 사용 위치가 표시됩니다.
ReSharper C++ 2023.3의 새로운 기능에서 C++ 업데이트에 대해 자세히 알아보세요.
ReSharper 2023.3에는 Razor를 위한 새로운 서식 지정 엔진이 도입되었습니다. 이는 ReSharper의 현재 C# 서식 지정 도구와 호환되므로 최근 몇 년 동안 도입된 C# 언어 구성 및 ReSharper의 새로운 C#용 서식 지정 옵션 대부분을 지원합니다. 새로운 서식 지정 도구는 또한 더 빠르게 작동하며 문제가 더 적을 것으로 예상됩니다. 그러나 일부 코드의 디폴트 서식 지정이 수정되므로 Razor의 이전 서식 지정 엔진으로 되돌리는 옵션을 도입했습니다. Code Editing(코드 편집) | Razor | Code Style(코드 스타일)에 있는 ReSharper의 Options(옵션)에서 관련 메뉴를 찾을 수 있습니다.
ReSharper 2023.3에서는 잠재적으로 런타임 예외를 일으킬 수 있는 Entity Framework 관련 코드의 메서드 사용에 대한 몇 가지 새로운 검사 기능을 제공합니다.
이러한 새로운 검사가 적용되는 두 가지 경우는 다음과 같습니다.
이번 릴리스에는 엔티티 관계 다이어그램(ERD)이 도입되었습니다. ReSharper의 ERD는 데이터베이스 모델의 그래픽 표현, 엔티티 간의 관계는 물론 데이터베이스 모델 분석 정보도 제공합니다.
ReSharper 2023.3의 Entity Framework 관련 분석은 무제한 문자열 프로퍼티 길이 및 종속성 루프와 같은 잠재적인 문제가 EF 모델에 있는지 코드를 검사합니다. 그런 다음 해당 검사에서 컨텍스트 메뉴를 호출하고 Show Entity Relationship Diagram(엔티티 관계 다이어그램 표시)을 선택하면 문제를 시각적으로 조사할 수 있습니다.
Entity Framework 관계 시각화와 새로운 검사에 대해 자세히 알아보려면 이 블로그 게시물을 확인하세요.
이전 릴리스에는 유닛 테스트를 쉽게 생성하는 기능이 도입되었습니다. ReSharper 2023.3 내 AI Assistant의 최신 업데이트 버전은 LLM의 기능을 활용하여 유닛 테스트 내에서 코드를 생성할 수 있는 옵션을 제공합니다.
JetBrains Grazie가 ReSharper의 새로운 내장 문법 및 철자 검사기로 사용됩니다. Grazie는 20개 이상의 언어를 지원하며 ReSharper가 지원하는 프로그래밍 언어(C#, C++, VB.NET), 마크업 언어(HTML, XML, XAML) 및 주석 내에서 자연어 오류를 찾아냅니다. Grazie에 다른 자연어를 추가하려면 ReSharper에서 Options(옵션) | Grammar and Spelling(문법 및 철자) | General(일반)로 이동하세요.
오래된 예기지만, CI/CD 서버의 IDE 외부에서 ReSharper Code Analysis를 실행하려면 ReSharper 명령줄 도구의 InspectCode 도구를 사용하는 것 외에 다른 선택은 없었습니다. 최근 Qodana는 .NET 도구 라인업을 처음 선보였으며 .NET용 Qodana Community linter에 대한 얼리 액세스 프로그램을 시작했습니다.
Qodana는 ReSharper와 동일한 정적 코드 분석 엔진을 기반으로 하지만 다음과 같은 몇 가지 추가적 이점을 제공합니다.
또한 .NET용 유료 Qodana linter를 사용하면 타사 라이선스 감사를 실행하고, 코드 커버리지를 분석하고, 취약한 종속성을 감지할 수 있습니다.
ReSharper 명령줄 도구를 중단하지는 않겠지만, 지금부터는 IDE 외부에서 ReSharper 분석을 실행하는 데 .NET용 Qodana Community linter가 선호되는 방식이 될 것입니다.
이전 릴리스에 도입된 Assembly diff(어셈블리 Diff) 기능을 통해 이제 NuGet 패키지, 폴더 및 .zip
파일을 비교할 수 있습니다.
이제 어셈블리 비교 기능에 더 많은 비교 옵션이 있습니다. 여러 Diff 모드(Show all(모두 표시), Show only differences(차이만 표시), Show only signature differences(시그니처 차이만 표시), Show only public API differences(공개 API 차이만 표시)) 중에서 선택할 수 있습니다. 또한 Diff에서 멤버/속성 순서 차이와 null 가능 참조 타입 어노테이션의 차이를 무시하도록 지정할 수 있습니다.
#nullable disable
지시문은 디컴파일링된 소스에 표시됩니다. Dynamic Program Analysis에는 ASP.NET Core 프레임워크를 타깃으로 하는 애플리케이션에 대해 세 가지 새로운 검사가 도입되었습니다. 이러한 검사는 애플리케이션의 반응을 저하시킬 수 있는 잠재적인 백엔드 성능 문제를 경고하도록 설계되었습니다.
Rider 2023.3에는 공개된 취약점을 더욱 명확하고 쉽게 이해하도록 설계된 새로운 보안 검사 기능이 도입되었습니다.
새로운 검사는 프로젝트에서 취약한 NuGet 패키지를 식별하고 코드에서 이러한 라이브러리의 취약한 메서드를 사용하는 인스턴스를 강조 표시합니다. 취약점이 감지되면 시스템이 문제가 있는 코드를 강조 표시하고 이를 해결하기 위한 빠른 조치를 제공합니다. 이러한 조치에는 최신 패키지 버전으로의 업데이트를 권장하고 발견된 취약점에 대한 심층 정보를 제공하는 등이 포함됩니다.
30일 무료 평가 이용 가능