ReSharper C⁠+⁠+ 2026.1의 새로운 기능

ReSharper C⁠+⁠+ 2026.1은 빠르게 시작되고 메모리 소모가 적습니다. 이번 릴리스에서는 C⁠+⁠+⁠26 #embed 지시문 및 기타 새로운 언어 기능이 지원됩니다. 코딩 지원 개선 사항에는 C⁠+⁠+⁠20 모듈에 대한 자동 가져오기와 새로운 접미사 코드 완성 시나리오가 포함됩니다. Unreal Engine 개발자는 개선된 Blueprint 통합과 향후 출시될 Unreal Engine 5.8을 위한 호환성 해결을 경험할 수 있습니다.

성능

ReSharper C⁠+⁠+ 2026.1은 IDE 경험의 모든 단계에서 상당한 수준의 성능 최적화를 제공하며, 특히 대규모 Unreal Engine 프로젝트의 요구 사항에 맞게 조정되었습니다. Out-of-Process(프로세스 외부) 모드에서 Unreal Engine용 Lyria 샘플 프로젝트를 측정한 결과에 따르면 다음과 같은 개선 사항이 확인되었습니다.

  • C⁠+⁠+ 코드의 초기 색인 생성이 최대 20% 향상되어, 솔루션을 처음 열 때 대기 시간이 줄어듭니다.
  • 웜 부팅 시간이 20% 이상 개선되어, 이전에 열었던 솔루션으로 돌아가는 속도가 눈에 띄게 빨라졌습니다.
  • 웜 부팅 후의 백엔드 메모리 사용량이 최대 21% 감소하여, 이후 워크플로에서 더 많은 리소스를 사용할 수 있습니다.

언어 기능

ReSharper C⁠+⁠+는 이제 C⁠+⁠+⁠26 및 C23에 도입된 #embed 전처리기 지시문을 지원합니다. 이 지시문을 사용하면 외부 도구나 코드 생성 없이도 바이너리 리소스 파일의 내용을 소스 코드에 바로 포함할 수 있습니다.

또한 이번 릴리스에서는 두 가지 언어 기능이 추가로 지원됩니다.

  • _Countof 연산자: ReSharper C⁠+⁠+는 이제 배열의 요소 수를 반환하는 C2Y(차기 C 표준)의 _Countof 연산자를 인식합니다.
  • 확장 부동 소수점 타입: C⁠+⁠+⁠23에서 표준화된 bfloat16_t, float16_tfloat128_t 부동 소수점 타입이 이제 지원됩니다.

ReSharper C⁠+⁠+ 2026.1에서는 컴파일러용 확장 기능과의 호환성이 개선됩니다.

  • 중첩 함수: ReSharper C⁠+⁠+는 이제 C 코드에서 함수 내부에 또 다른 함수를 정의할 수 있는 GCC 확장 기능을 지원합니다.
  • _Nullable/_Nonnull 한정자: Clang의 포인터 null 가능성 한정자가 이제 파서에서 인식됩니다.

코딩 지원

ReSharper C⁠+⁠+⁠의 새로운 C⁠+⁠+⁠20 모듈용 자동 가져오기 지원으로 인지 부하를 줄이세요. 내보낸 심볼을 사용하지만 해당 import 선언이 누락된 경우, IDE가 이제 이를 자동으로 삽입하는 스마트 제안을 제공합니다. 현재 자동 가져오기는 기본 모듈 인터페이스 유닛 및 모듈 파티션에서 직접 내보낸 심볼에만 지원됩니다.

접미사 완성이 다음 경우에도 적용되도록 확장되었습니다.

  • 기본 타입: 접미사 완성은 이전에는 클래스 및 구조체 타입만 대상으로 했지만 이제 int, bool, float와 같은 기본 타입의 표현식도 처리합니다.
  • 리터럴: 접미사 완성이 이제 리터럴 뒤에서도 작동하므로, 42.cos를 입력하면 cos(42)로 확장됩니다.
  • 사용자 정의 리터럴 접미사: 이제 사용자 정의 리터럴 연산자에 대해 코드 완성을 사용할 수 있습니다. 리터럴 뒤에 _을 입력하면, ReSharper C⁠+⁠+가 현재 범위에서 사용 가능하며 일치하는 operator"" 접미사를 제안합니다.

자동 들여쓰기가 두 가지 면에서 개선되어 편집 경험이 더 매끄러워집니다.

  • 제어 흐름 구문이나 클래스 정의의 중괄호 사이에 Enter를 누르면, 속성이 있는 경우(예: class [[deprecated]] MyClass {})에도 이제 커서가 적절한 들여쓰기와 함께 올바르게 배치됩니다.
  • extern 블록 내부의 자동 들여쓰기가 이제 Indent linkage specification block members(링크 사양 블록 멤버 들여쓰기) 서식 지정 설정을 준수합니다.

Unreal Engine

ReSharper C⁠+⁠+ 2026.1에서 Blueprint 지원이 개선됩니다.

  • Code Vision의 BlueprintPure: Code Vision이 BlueprintCallable 외에도 BlueprintPure 지정자가 표시된 함수를 인식합니다.
  • Code Vision의 이벤트 구현: Code Vision이 Blueprint 애셋에서 BlueprintNativeEventBlueprintImplementableEvent 함수 구현을 탐지합니다.
  • 위임 프로퍼티에 대해 Find Usages(사용 위치 찾기) 사용: Find Usages를 통해 BlueprintAssignable 위임 프로퍼티의 Blueprint 측 바인딩을 검색할 수 있습니다.
  • 개선된 Blueprint 검색 정확도: Blueprint 참조에 대한 Find Usages가 이제 Blueprint 이름 대신 애셋 경로로 검색합니다. 이에 따라 프로젝트에 이름이 같은 Blueprint가 여러 개 포함되어 있더라도 검색 결과가 더 이상 모호해지지 않습니다.

ReSharper C⁠+⁠+는 이제 기본적으로 Unreal Engine 플러그인의 색인을 생성합니다. Unreal Engine 프로젝트에서 플러그인 사용이 증가하고 최근 성능이 향상됨에 따라, 기본적으로 플러그인의 색인을 생성하면 코드 분석 및 탐색이 별도 설정 없이 향상됩니다. 이전 동작은 Settings(설정)ReSharper | Options(옵션) | Code Editing(코드 편집) | C/C++ | Unreal Engine 페이지에서 복원할 수 있습니다.

ReSharper C⁠+⁠+는 또한 곧 출시될 Unreal Engine 5.8의 UnrealHeaderTool 변경 사항에 대한 지원을 추가합니다. 특히 DECLARE_DYNAMIC_MULTICAST_DELEGATE 매크로가 더 이상 코드 분석에서 거짓 양성 오류를 발생시키지 않습니다.

Unreal Engine 개발을 위한 독립실행형 크로스 플랫폼 IDE에 관심이 있다면 Rider를 사용해 보세요. Rider와 ReSharper C⁠+⁠+의 Unreal Engine 지원이 일치하도록 조정되어 Rider 2026.1 업데이트에서도 동일한 개선 사항을 기대할 수 있습니다.

코드 분석

ReSharper C⁠+⁠+ 2026.1은 번들로 제공되는 Clang-Tidy 바이너리를 업데이트하여 LLVM 22 릴리스의 최신 검사 및 개선 사항을 가져옵니다.

새로운 검사에서는 구조체에 선언된 멤버 순서와 다르게 나타나는 지정된 이니셜라이저를 탐지합니다. C⁠+⁠+⁠20에서는 지정된 이니셜라이저가 선언 순서를 따라야 하므로, 순서가 맞지 않는 이니셜라이저는 컴파일 오류를 발생시킵니다. ReSharper C⁠+⁠+는 이제 이러한 경우를 플래그 지정하고, 구조체 정의와 일치하도록 이니셜라이저 목록의 순서를 자동으로 재조정하는 빠른 수정을 제공합니다.

또 다른 새로운 검사는 함수가 기본 클래스에서 재정의하는 가상 함수와 다른 액세스 수준(public, protected 또는 private)을 가질 때 경고를 표시합니다. C⁠+⁠+에서 재정의 시 액세스 수준이 변경되기도 하지만, 이는 의도치 않은 경우가 많으며 예상치 못한 동작으로 이어질 수 있습니다. 이 검사는 이러한 미세한 불일치를 포착하는 데 도움이 됩니다.

이번 릴리스는 Unused symbol(사용되지 않는 심볼) 검사를 .cpp 소스 파일에 정의된 클래스 멤버로 확장합니다. 이전에는 이러한 멤버가 외부에 표시된다고 가정하여 Unused symbol 분석에서 제외되었지만 이제 static 함수 및 익명 네임스페이스 멤버와 동일한 방식으로 분석됩니다.

탐색

복잡한 코드베이스를 최소한의 노력으로 탐색하고 이해할 수 있도록 C⁠+⁠+ 파일의 여백 마크를 개선했습니다.

  • 구문 강조 표시가 적용된 툴팁: 여백 마크를 마우스로 가리키면 나타나는 툴팁에 구문 강조 표시가 적용되어 내용을 한눈에 파악할 수 있습니다.
  • 기본 클래스로 이동: 클래스 정의에 표시되는 새로운 여백 아이콘을 통해 상속 계층 구조를 따라 기본 클래스로 이동할 수 있어, 기존의 파생 클래스로 이동하기 위한 마크를 보완합니다.

Go to Declaration(선언으로 이동) 및 기타 탐색 액션이 이제 타입 이름뿐만 아니라 중괄호 초기화 표현식(예: MyStruct { 1 })의 여는 중괄호에도 작동합니다.

Visual Studio 통합

초기 Visual Studio 2026 호환성 릴리스에서 누락되었던 툴팁 지원이 복원되어 ReSharper C⁠+⁠+ 툴팁을 이제 Visual Studio 2026에서 사용할 수 있습니다. 툴팁 표시 방식도 개선되었습니다. 이제 아이콘을 통해 심볼 타입을 구분할 수 있으며, 테마 지원도 향상되었습니다.

ReSharper의 여러 에디터 UI 요소가 업데이트되어 Visual Studio의 현대적인 경험과 더 잘 어울리도록 개선되었습니다.

디자인 개편으로 코드 완성 UI가 에디터 내에서 더 깔끔하고 일관된 모습을 선사합니다.

또한 여러 관련 UI 구성 요소, 예를 들어 매개변수 정보 팝업, 툴팁기타 에디터 팝업도 현대적으로 개선하여, 오래된 시각적 요소를 교체하고 다양한 테마와 DPI 설정에서 시각적 완성도를 높였습니다.

업데이트된 UI는 이제 Visual Studio의 에디터 확대/축소 기능을 지원하여, 확대/축소 수준이 변경될 때 완성 목록과 매개변수 정보의 크기가 올바르게 조정됩니다.

ReSharper C⁠+⁠+ 2026.1은 프로젝트 모델과 관련된 여러 문제를 해결합니다.

  • Windows Driver Kit(WDK) 프로젝트: ReSharper C⁠+⁠+는 이제 WDK 전용 플랫폼 도구 모음을 올바르게 인식하고 적절한 디폴트 전처리기 정의를 제공합니다.
  • WinUI 3 프로젝트: 포함 경로가 이제 올바르게 구성됩니다.
  • 타입 라이브러리용 라이브러리 디렉터리: ReSharper C⁠+⁠+는 이제 Visual Studio 프로젝트 설정에 구성된 라이브러리 디렉터리에서 COM 타입 라이브러리 파일(.tlb)을 해결합니다.

이번 릴리스에 도입된 다른 모든 변경 사항을 알아보려면 ReSharper의 새로운 기능 페이지를 살펴보세요.