ReSharper C++ 및 Visual Assist 비교

이 문서에서는 ReSharper C++이 Whole Tomato의 Visual Assist와 어떻게 다른지 설명합니다.

두 제품 모두 활발히 개발 중이고, 제공되는 기능이 정기적으로 변하므로 이 비교는 비교 표의 제목에 표시된 특정 릴리스에 대해 유효한 것으로 간주합니다.

If you discover any inaccurate items in this table, please post a comment below to let us know, and we'll update the table as soon as possible.

Visual Assist(Visual Studio 2019) 및 Visual Assist 빌드 2341
(Visual Studio 2019ReSharper C++ 2019.2)

지원되는 Visual Studio 버전

Visual Studio 2019 Visual Studio 2019
Visual Studio 2017 Visual Studio 2017
Visual Studio 2015 Visual Studio 2015
Visual Studio 2013 Visual Studio 2013
Visual Studio 2012 Visual Studio 2012
Visual Studio 2010 Visual Studio 2010
Visual Studio 2008 지원되지 않음
Visual Studio 2005 지원되지 않음
Visual Studio .NET 2003 지원되지 않음
Visual Studio .NET 2002 지원되지 않음
Visual C++ 6.0 지원되지 않음

지원되는 C/C++ 사양

C/C++ C/C++
C++/CLI C++/CLI

코드 문제 탐지

잘못 입력된 심볼 강조 표시 해결되지 않은 심볼 강조 표시
코드 문제 간 탐색(도구 창, 에디터) 코드 문제 간 탐색(도구 창, 에디터, 전용 명령어)
21가지 Clang-Tidy 검사 264가지 통합 Clang-Tidy 검사
대응하는 기능 없음 652가지 통합 Clang-Tidy 진단
대응하는 기능 없음 87가지 통합 Clang Static Analyzer 검사
철자 검사 철자 검사
일치하지 않는 구분자 강조 표시 대응하는 기능 없음
대응하는 기능 없음 일관성 없는 이름 지정
0 상수를 nullptr로 대체 가능 0 상수를 nullptr로 대체 가능
'override' 지정자 없이 함수 재정의 'override' 지정자 없이 함수 재정의
shared_pointer/unique_pointer 생성자를 make_shared/make_unique로 대체 가능 make 함수 대신 스마트 포인터 생성자 사용
대응하는 기능 없음 180개 이상의 전용 코드 검사
대응하는 기능 없음 대부분 컴파일러 오류 및 일부 경고에 대한 코드 검사
대응하는 기능 없음 모든 범위에서 코드 문제를 비동기식으로 검색
대응하는 기능 없음 명령줄에서 코드 검사 실행

코드 문제의 빠른 수정

사용 위치에서 생성 사용 위치에서 생성
#include 추가 전역 변수, 유형, 유형 정의, 함수, 매크로 가져오기
선언 생성 선언 생성
케이스 복구 대응하는 기능 없음
구성 가능한 검사에 대해 10가지 이상의 빠른 수정 구성 가능한 검사에 대해 120가지 이상의 빠른 수정

코딩 지원

일치하는 구분자 강조 표시 짝이 되는 항목 강조 표시(printfboost::format의 매크로와 서식 인수 포함)
현재 줄 강조 표시 현재 줄 강조 표시
약어/줄임말 CamelHumps
제안 목록 / 스마트 제안 스마트 제안을 사용하여 코드 완성
도트를 ->로 변환 마침표를 ->로 변환, ->을 마침표로 변환
스마트 선택 선택 항목 확장/축소 + 포함된 선언 선택
복수 클립보드 항목 미리보기를 포함한 클립보드 내역
매개변수 정보 매개변수 정보
대응하는 기능 없음 에디터 힌트
향상된 구문 색상 지정(6종의 식별자)/이탤릭체의 안정적 심볼/굵게 표시된 로컬 심볼 구문 강조 표시(20종의 식별자)
커서 아래에 심볼에 대한 참조 강조 표시 파일에서 사용 위치 강조 표시
둘러싸기 선택 다음으로 둘러싸기/줄 또는 블록 주석으로 주석 추가
자동으로 닫힌 토큰 삽입 일치하는 구분자 및 형식 자동 삽입
빠른 정보와 문서 구문 강조 표시된 툴팁과 문서
Enter를 누를 때 여러 줄의 주석을 자동 확장 Enter를 누를 때 여러 줄의 /**//// 주석을 자동 확장
m 및 Shift 다음 밑줄 삽입 대응하는 기능 없음
향상된 목록 상자 대응하는 기능 없음
일치하는 단어 강조 표시(코드 및 코멘트) 대응하는 기능 없음
열(오른쪽 여백) 표시기 대응하는 기능 없음
라인 정렬 대응하는 기능 없음
경로 삽입 대응하는 기능 없음
주석에서 파일 미리보기 대응하는 기능 없음
에디터 줌 재설정 대응하는 기능 없음
대응하는 기능 없음 현재 줄 또는 선택 항목 복제
대응하는 기능 없음 접미어 완성
대응하는 기능 없음 접미어 템플릿
대응하는 기능 없음 빠른 문서
대응하는 기능 없음 자동 함수 강조 표시

코드 스타일 지원

붙여넣기 후 서식 지정(서식 지정 규칙이 Visual Studio에서 상속됨) 모든 범위에 서식 지정 규칙 적용(ReSharper C++ 자체의 서식 지정 규칙 확장 세트 사용)
대응하는 기능 없음 기존 코드에서 서식 지정 규칙 인식
대응하는 기능 없음 EditorConfig 지원
대응하는 기능 없음 Clang 서식 지원
대응하는 기능 없음 코드 정리를 사용해 모든 범위에서 코드 스타일을 적용하고 코드 중복을 제거
대응하는 기능 없음 구성 가능한 파일 헤더 스타일
대응하는 기능 없음 사전 정의 구성(STL, Google, LLVM, CamelCase, Microsoft)을 포함한 구성 가능한 명명 스타일
대응하는 기능 없음 생성된 코드에서 constvolatile 한정자에 구성 가능한 스타일 적용
대응하는 기능 없음 생성된 코드에서 include 명령에 대해 구성 가능한 스타일
대응하는 기능 없음 생성된 코드에서 기본 포인터 이니셜라이저(0|nullptr|NULL)에 구성 가능한 스타일 적용

리팩터링 및 코드 변환

리팩터링 명령에 액세스 다음을 리팩터링
이름 변경 이름 변경
시그니처 변경 시그니처 변경
변수 삽입 변수 삽입
필드 캡슐화 필드 캡슐화(게터 및 세터 생성 액션 사용)
추출 메서드 추출 메서드
괄호 추가/제거 괄호 추가/제거
파일 이름 변경 파일 이름 변경
소스 파일로 구현 이동 클래스 범위 밖으로 구현 이동
헤더 파일/클래스 선언으로 구현 이동 대응하는 기능 없음
새 파일로 선택 항목 이동 대응하는 기능 없음
리팩터링을 위한 조각(편집 가능) 대응하는 기능 없음
인스턴스를 포인터로 또는 그 반대로 변환 대응하는 기능 없음
인스턴스 선언 간소화 대응하는 기능 없음
대응하는 기능 없음 필드 삽입
대응하는 기능 없음 변수 인라인화
대응하는 기능 없음 네임스페이스 별칭 삽입
대응하는 기능 없음 typedef 삽입/인라인화
대응하는 기능 없음 함수에 = default, = delete, pure 또는 virtual 규제자 추가
대응하는 기능 없음 ?:if로 또는 그 반대로 변환
대응하는 기능 없음 꺾쇠 괄호에서 따옴표 형태로 #include 명령을 변환 또는 그 반대로 변환
대응하는 기능 없음 typedef 선언을 별칭 선언으로 또는 그 반대로 변환
대응하는 기능 없음 중첩된 네임스페이스 정의로 변환
대응하는 기능 없음 정규 반환 유형을 후행 반환 유형 또는 그 반대로 변환
대응하는 기능 없음 파생된 유형 생성: 클래스, 인터페이스, 구조체, 인터페이스 클래스, 인터페이스 구조체, 참조 클래스, 참조 구조체
대응하는 기능 없음 관계형 연산자 대칭
대응하는 기능 없음 연산자 인수 대칭
대응하는 기능 없음 생성자 매개변수의 필드 초기화
대응하는 기능 없음 if 문 반전
대응하는 기능 없음 중첩된 if 문 병합
대응하는 기능 없음 논리 표현식 무효화
대응하는 기능 없음 괄호 제거
대응하는 기능 없음 'auto'를 명시적 유형 선언으로 대체
대응하는 기능 없음 'decltype'을 밑줄 유형으로 대체
대응하는 기능 없음 'decltype(auto)'을 명시적 유형 선언으로 대체
대응하는 기능 없음 선언을 여러 선언으로 분할 또는 결합
대응하는 기능 없음 매크로 호출 대체
대응하는 기능 없음 템플릿 유형 별칭 대체
대응하는 기능 없음 명시적으로 템플릿 인수 지정
대응하는 기능 없음 typedef 대체(선택적으로 중첩된 모든 typedef로 포함)

코드 생성

인터페이스/가상 메서드 구현 누락/재정의 멤버 생성
구현 생성 구현 생성 + 인라인 구현 생성
메서드 구현 생성 정의 생성
누락된 case 문 추가 enum에 대해 누락된 case 문 생성
메서드 기록 심볼 기록
정방향 선언 추가 정방향 선언 추가
멤버 추가 대응하는 기능 없음
유사 멤버 추가 대응하는 기능 없음
대응하는 기능 없음 생성자 생성
대응하는 기능 없음 복사 및 이동 연산자 생성
대응하는 기능 없음 게터 및 세터 생성
대응하는 기능 없음 비교 연산자 생성
대응하는 기능 없음 관계형 연산자 생성
대응하는 기능 없음 스트림 연산 생성(Boost.Serialization 함수 포함)
대응하는 기능 없음 hash 함수 생성
대응하는 기능 없음 swap 함수 생성
대응하는 기능 없음 Google Mock 메서드 생성
대응하는 기능 없음 enum을 문자열로 변환하는 함수 생성(구성 가능)
대응하는 기능 없음 파생된 유형 생성

코드 조각/템플릿

VA 조각 30가지의 내장 라이브 템플릿 + 사용자 지정 라이브 템플릿
조각으로 둘러싸기 19가지의 내장 둘러싸기 템플릿 + 사용자 지정 둘러싸기 템플릿
파일 생성(헤더 및 cpp의 경우 두 번 호출해야 함) 클래스 및 구조체용 기본 파일 템플릿(헤더 및 cpp를 한 번에 생성) + 사용자 지정 파일 템플릿
조각에서 예약된 문자열/환경 자리 표시자 코드 템플릿의 매크로
조각 에디터 템플릿 에디터
선택 항목에서 조각 생성 선택 항목에서 라이브 템플릿 생성
대응하는 기능 없음 다중 파일 템플릿

탐색 및 검색

선언으로 이동(Goto 사용) 선언으로 이동(사용 위치 인식)
구현으로 이동(Goto 사용) 구현으로 이동
VA 개요 파일 구조
최근 파일(VA 보기) 최근 파일로 이동
솔루션에서 파일 열기 파일로 이동
솔루션에서 심볼 검색 심볼로 이동
Goto 관련 관련 파일로 이동
Goto 멤버 파일 멤버로 이동
이동 범위 다음/이전 멤버로 이동
참조 검색 사용 위치 검색
컨텍스트별로 찾기 다음/이전 강조 표시로 이동 / 결과 찾기 창
해당 파일 열기 헤더 및 소스 간 전환
앞뒤로 이동 탐색 기록에서 이동
VA 해시태그 북마크
소스 링크 외부 URL 패턴을 가진 To-Do 항목
파일에 메서드 나열 대응하는 기능 없음
VA 탐색 표시줄 대응하는 기능 없음
클래스 브라우저 가리키기 대응하는 기능 없음
출력 창에서 프로젝트 파일 강조 표시 대응하는 기능 없음
결과 검색 강조 표시 대응하는 기능 없음
대응하는 기능 없음 전체 검색
대응하는 기능 없음 텍스트로 이동
대응하는 기능 없음 최근 편집으로 이동
대응하는 기능 없음 이전 편집으로 이동
대응하는 기능 없음 탐색 위치
대응하는 기능 없음 기본 심볼로 이동
대응하는 기능 없음 파생 심볼로 이동
대응하는 기능 없음 심볼 유형으로 이동
대응하는 기능 없음 근처 파일로 이동
대응하는 기능 없음 유형 계층 구조
대응하는 기능 없음 포함 항목의 계층 구조
대응하는 기능 없음 기본 템플릿/전문화로 이동
대응하는 기능 없음 솔루션 탐색기에서 현재 파일 찾기
대응하는 기능 없음 액션 및 설정 검색
대응하는 기능 없음 중단점 탐색 및 도구 창
대응하는 기능 없음 분석기 포함

디버그

스텝 필터 스텝 필터
활성화된 모든 중단점을 일시적으로 해제 대응하는 기능 없음
모든 중단점을 일시적으로 현재 스레드에 바인딩하기 대응하는 기능 없음
대응하는 기능 없음 감시점 인라인화
대응하는 기능 없음 검색 가능한 데이터팁

Unreal Engine

UE4 프로젝트 지원 UE4 프로젝트 지원
UE4 리플렉션 지정자에 스마트 제안 지원 UE4 리플렉션 지정자에 코드 완성 지원
대응하는 기능 없음 UE4 리플렉션 지정자에 대한 빠른 문서
UE4 원격 프로시저 호출 지원 UE4 원격 프로시저 호출 지원
대응하는 기능 없음 UE4 RPC 함수에 대한 이름 변경 및 시그니처 변경 리팩터링
탐색에서 엔진 소스 제외 대응하는 기능 없음
대응하는 기능 없음 엔진 코드의 지연된 색인 생성
대응하는 기능 없음 UE4 이름 지정 규칙 지원
대응하는 기능 없음 UE4 기반 코드 검사

유닛 테스트

대응하는 기능 없음 Google Test, Catch 2.5, Boost.Test, doctest 프레임워크에 유닛 테스트 지원

설정 관리

설정 가져오기/내보내기 설정 및 사용자 지정 템플릿에 대한 자동 멀티 레이어 동기화