코드 완성

ReSharper는 Visual Studio의 기본 코드 완성(IntelliSense)을 더욱 발전된 기능으로 확장합니다. 예를 들어, 코드 입력을 토대로 제안 목록을 좁히고, lowerCamelHumps 줄임말을 이해하며, 유형 이름과 이름 지정 스타일에 따라 변수 및 필드 이름을 제안하고, 선택한 유형과 확장 메서드를 자동으로 가져오는 등 다양한 기능을 수행합니다.

CamelHumps 지원을 통한 C# 심볼 코드 완성

심볼 완성

Ctrl+Space로 실행되는 코드 완성 기능은 변수와 메서드, 현재 표시되는 유형의 이름, 키워드 등을 인식합니다. ReSharper는 식별자를 선언할 때 이름 지정 스타일에 따라 자동으로 접두어를 제안합니다.

뿐만 아니라 ReSharper는 코드 심볼이 선언되지 않은 경우라도 해당 사용 위치에서 알려진 멤버를 포착할 수 있어 로컬 범위에서 해결되지 않은 심볼에 완성 기능을 제공합니다.

심볼 완성을 포함한 ReSharper의 모든 코드 완성 기능은 CamelHumps를 지원하므로 대문자만을 입력해서 항목을 완성할 수 있습니다.

또한 ASP.NET 파일에서 ReSharper는 웹 제어 속성 및 이벤트, 데이터 소스, 콘텐츠 자리표시자를 비롯하여 인라인화된 C# 코드에 코드 완성 기능을 제공합니다.
XAML의 경우에는 리소스의 참조에서, 빌드 스크립트의 경우에는 현재 범위 내 속성, 대상, 작업, 속성 이름에서 완성 기능을 이용할 수 있습니다.

코드를 생성하는 ReSharper 코드 완성 기능

코드를 생성하는 완성 기능

이 외에도 Ctrl+스페이스를 눌러 이용할 수 있는 완성 기능은 훨씬 더 많습니다. 이 기능으로 심볼 재정의, 부분적 메서드 본문 및 부분적 클래스를 빠르게 추가하고, 인터페이스 멤버를 구현하고, 속성을 생성할 수 있습니다. 메소드, 생성자, 속성 등을 완성할 때 ReSharper는 해당 항목의 전체 본문을 생성 및 삽입합니다.

C#에 지원되는 스마트 코드 완성

스마트 완성

Ctrl+Alt+Space로 실행되는 스마트 코드 완성은 메서드, 필드 또는 변수 목록을 필터링하여 예상되는 표현식 유형과 일치시킵니다.

예를 들어, 메서드 호출 인수에서 스마트 완성을 사용할 경우 제안된 값 목록은 필요한 매개변수 유형으로 좁혀집니다. 또한 스마트 완성은 out 매개변수에 대해 익명 메서드, 람다 식, 정규 메서드를 비롯한 지역 변수 생성을 제안합니다.

스마트 완성은 XAML 이벤트 핸들러 및 기타 컨텍스트에서 마법처럼 탁월하게 작동합니다.

다른 네임스페이스의 코드를 제안하여 가져오는 ReSharper 코드 완성

import 심볼 완성

import 심볼 완성은 Shift+Alt+Space로 실행됩니다. 심볼 완성(현재 위치에서 액세스할 수 있는 유형만 완성)과 달리, 이 명령은 유형이 속해 있는 네임스페이스와 상관없이 지정된 접두어와 일치하는 모든 유형을 표시하고, 필요에 따라 적절한 네임스페이스 import 지시문을 추가합니다.

C# 코드 파일에서 import 심볼 완성은 확장 메서드에서 마침표가 입력된 다음에 작동하고 필요한 using 지시문을 배치합니다. 또한 이 기능은 XAML 마크업의 태그 이름에서 매우 유용합니다. 필요에 따라 네임스페이스 import 지시문도 삽입됩니다.

완성 기능 중복 실행

완성 기능 중복 실행

완성 목록이 비어 있거나 기대한 항목이 포함되지 않은 경우, 언제든지 어떤 종류의 완성 기능이든 단축키를 두 번 누르세요.

ReSharper가 protected/private/internal 멤버, 참조되지 않은 어셈블리의 심볼, 예상 데이터 유형의 반환값을 가진 호출 체인, 예상 데이터 유형의 형 변환을 사용해 완성 목록을 확장합니다. 또한 이러한 제안을 사용할 경우, 누락된 import 문 및 참조가 자동으로 추가됩니다.

코드 완성 필터

코드 완성의 필터

ReSharper를 이용하면 심볼의 종류별로 완성 제안을 좁히고 한정자 및 기타 필터에 액세스할 수 있습니다. 코드 완성을 실행할 때마다 적용된 필터 모음을 수정하고 필터 상태를 유지할지 여부를 선택할 수 있습니다.

C# 코드 입력 지원

C# 코드 입력 지원

또한 ReSharper는 코드를 입력할 때 알아차리기 어려운 입력 오류를 수정하는 C# 코드 입력 지원 기능 모음을 제공합니다.

예를 들어 MethodName(.)을 입력한 경우, 자동으로 MethodName().으로 대체되므로 유효하지 않은 구문 오류를 처리할 필요 없이 호출 체인 입력을 계속할 수 있습니다.

마찬가지로, 축자 문자열 보간에서 잘못 입력된 @$ 접두어는 $@로 수정됩니다.

단축키 참고사항

이 페이지에 나온 모든 키보드 단축키는 ReSharper의 기본 'Visual Studio' 단축키에서 제공됩니다. ReSharper의 2가지 단축키에 관한 자세한 내용은 ReSharper 문서를 참조하세요.