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 버전 | 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가지 이상의 빠른 수정 | |
코딩 지원 | 일치하는 구분자 강조 표시 | 짝이 되는 항목 강조 표시(printf 및 boost::format 의 매크로와 서식 인수 포함) |
현재 줄 강조 표시 | 현재 줄 강조 표시 | |
약어/줄임말 | CamelHumps | |
제안 목록 / 스마트 제안 | 스마트 제안을 사용하여 코드 완성 | |
도트를 -> 로 변환 | 마침표를 -> 로 변환, -> 을 마침표로 변환 | |
스마트 선택 | 선택 항목 확장/축소 + 포함된 선언 선택 | |
복수 클립보드 | 항목 미리보기를 포함한 클립보드 내역 | |
매개변수 정보 | 매개변수 정보 | |
대응하는 기능 없음 | 에디터 힌트 | |
향상된 구문 색상 지정(6종의 식별자)/이탤릭체의 안정적 심볼/굵게 표시된 로컬 심볼 | 구문 강조 표시(20종의 식별자) | |
커서 아래에 심볼에 대한 참조 강조 표시 | 파일에서 사용 위치 강조 표시 | |
둘러싸기 선택 | 다음으로 둘러싸기/줄 또는 블록 주석으로 주석 추가 | |
자동으로 닫힌 토큰 삽입 | 일치하는 구분자 및 형식 자동 삽입 | |
빠른 정보와 문서 | 구문 강조 표시된 툴팁과 문서 | |
Enter를 누를 때 여러 줄의 주석을 자동 확장 | Enter를 누를 때 여러 줄의 /**/ 및 /// 주석을 자동 확장 | |
m 및 Shift 다음 밑줄 삽입 | 대응하는 기능 없음 | |
향상된 목록 상자 | 대응하는 기능 없음 | |
일치하는 단어 강조 표시(코드 및 코멘트) | 대응하는 기능 없음 | |
열(오른쪽 여백) 표시기 | 대응하는 기능 없음 | |
라인 정렬 | 대응하는 기능 없음 | |
경로 삽입 | 대응하는 기능 없음 | |
주석에서 파일 미리보기 | 대응하는 기능 없음 | |
에디터 줌 재설정 | 대응하는 기능 없음 | |
대응하는 기능 없음 | 현재 줄 또는 선택 항목 복제 | |
대응하는 기능 없음 | 접미어 완성 | |
대응하는 기능 없음 | 접미어 템플릿 | |
대응하는 기능 없음 | 빠른 문서 | |
대응하는 기능 없음 | 자동 함수 강조 표시 | |
코드 스타일 지원 | 붙여넣기 후 서식 지정(서식 지정 규칙이 Visual Studio에서 상속됨) | 모든 범위에 서식 지정 규칙 적용(ReSharper C++ 자체의 서식 지정 규칙 확장 세트 사용) |
대응하는 기능 없음 | 기존 코드에서 서식 지정 규칙 인식 | |
대응하는 기능 없음 | EditorConfig 지원 | |
대응하는 기능 없음 | Clang 서식 지원 | |
대응하는 기능 없음 | 코드 정리를 사용해 모든 범위에서 코드 스타일을 적용하고 코드 중복을 제거 | |
대응하는 기능 없음 | 구성 가능한 파일 헤더 스타일 | |
대응하는 기능 없음 | 사전 정의 구성(STL, Google, LLVM, CamelCase, Microsoft)을 포함한 구성 가능한 명명 스타일 | |
대응하는 기능 없음 | 생성된 코드에서 const 및 volatile 한정자에 구성 가능한 스타일 적용 | |
대응하는 기능 없음 | 생성된 코드에서 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 프레임워크에 유닛 테스트 지원 |
설정 관리 | 설정 가져오기/내보내기 | 설정 및 사용자 지정 템플릿에 대한 자동 멀티 레이어 동기화 |