탐색 및 검색

ReSharper의 탐색 기능을 이용하면 전체 솔루션에서 쉽게 이동할 수 있습니다. 코드 베이스의 파일, 유형 또는 멤버로 이동하거나 특정 심볼에서 그 사용 위치, 기본 및 파생 심볼 또는 구현으로 이동할 수 있습니다.

ReSharper의 컨텍스트 탐색

Navigate To(다음으로 이동)는 모든 종류의 컨텍스트 탐색을 제공하는 단 하나의 바로가기입니다. Navigate To에는 현재 캐럿 위치에서 이동할 수 있는 모든 대상이 나열됩니다. Alt+'를 누르면 캐럿 아래에 있는 심볼의 선언, 유형 선언, 기본 클래스, 상속자 또는 사용 위치, 인터페이스 구현, 함수 출구 등으로 연결되는 빠른 이동 링크가 제공됩니다.

파일 멤버로 이동

파일 멤버로 이동

현재 파일에서 특정 메서드 또는 필드로 빠르게 이동하려면 Alt+\를 눌러 사용할 수 있는 Go to File Member(파일 멤버로 이동) 명령어를 사용하세요. Go to Type(유형으로 이동)과 마찬가지로, 심볼 이름을 입력하기 시작한 후, 일치하는 멤버 목록에서 선택하면 됩니다. 이 기능은 지원되는 모든 언어의 파일 멤버에서 사용할 수 있습니다.

모든 항목/유형으로 이동

Ctrl+T로 사용할 수 있는 이 명령어는 2가지 기능을 결합한 것입니다.

먼저 나타나는 Go to Everything(모든 항목으로 이동)은 가능한 모든 대상(유형, 심볼 또는 필터)에 대한 빠른 탐색을 제공합니다. 명령을 실행하는 즉시 제안 목록이 나타나고, 기본적으로 최근에 탐색한 파일과 코드 위치가 포함됩니다. 목록은 코드 입력에 따라 업데이트됩니다. 검색 결과의 고급 필터링 기능을 이용하려면 /로 시작하는 특수 인라인 명령어를 사용할 수 있습니다.

단축키를 다시 누르면 나타나는 Go to Type(유형으로 이동)을 사용하면 솔루션 내의 모든 유형으로 이동이 가능합니다.

또한, 이 2가지 기능과 나머지 '이동' 기능은 와일드카드를 지원합니다. *(별표)는 0개 이상의 문자를 나타내고 검색 쿼리를 둘러싼 큰따옴표는 정확한 일치 검색을 실행하며 정확한 일치 검색 내의 ?(물음표)는 단일 문자를 한 번 나타냅니다.

텍스트 검색에서 텍스트로 이동

텍스트 검색에서 텍스트로 이동

Ctrl+T, T, T로 사용할 수 있는 이 탐색 액션을 이용하면 솔루션에 포함된 소스 및 텍스트 파일의 모든 텍스트를 빠르게 검색하고 그 위치로 이동할 수 있습니다. 다른 탐색 명령어와 유사하게, 일치하는 항목이 너무 많을 경우 숫자 키패드에서 +를 눌러 Find Results(결과 검색) 창에서 결과를 탐색할 수 있습니다. 또는 특수 인라인 명령어를 사용해 검색 결과를 좁힐 수도 있습니다. 현재 프로젝트에서 검색하려면 /cp를, 특정 확장자를 가진 파일에서 검색하려면 /ext:를, 특수 파일 마스크를 검색하려면 /fm:을 사용하세요 .

구현으로 이동 vs 파생 심볼로 이동

구현으로 이동

Ctrl+F12 단축키로 사용할 수 있는 이 탐색 기능은 상속 체인의 중간 단계를 건너뛰어 기본 유형 또는 멤버에서 종료점 구현으로 바로 이동할 수 있습니다.

Go to Derived Symbols(파생 심볼로 이동)와 유사하게 작동하지만 유형 계층 구조에서 하나 이상의 단계를 건너뛰어야 할 때 시간을 절약할 수 있습니다. GIF를 보고 차이를 확인해 보세요.

액션으로 이동

액션으로 이동

ReSharper를 이용하면 메뉴를 일일이 찾아보지 않고도 액션을 빠르게 찾아 적용할 수 있습니다. JetBrains에서 액션이란 현재 캐럿 위치에서 사용할 수 있는 실행 가능한 명령어 또는 도구 창을 여는 명령어를 의미합니다. 액션을 찾으려면 에디터의 어느 곳에서든 Alt+Enter를 누르고 명령어의 이름 또는 관련 단어를 입력하기 시작하면 됩니다.

노출 API로 이동

노출 API로 이동

Navigate To(다음으로 이동) 단축키(Alt+')로 사용할 수 있는 이 명령어를 실행하면 한 유형에서 해당 유형의 인스턴스(public 필드 및 프로퍼티, 메서드 반환값, 출력 매개변수 등)가 있는 솔루션 내의 모든 위치로 이동할 수 있습니다.

심볼로 이동

심볼로 이동

Go to Symbol(심볼로 이동) 명령어를 실행하면 솔루션 전체에서 이름별로 메서드, 필드 및 기타 파일 멤버를 검색할 수 있습니다. 이 명령어는 Shift+Alt+T를 눌러 사용 가능합니다. Go to Symbol을 포함한 모든 ReSharper '이동' 명령은 대소문자 구분 없는 CamelHumps를 지원합니다. 즉, 이름에 포함된 첫 글자와 그 다음에 오는 아무 문자나 입력하면 멤버를 빠르게 검색할 수 있습니다. 예를 들어 testFixedSizeBuffer를 찾으려면 tfixs를 입력하면 됩니다.

베이스로 이동

베이스로 이동

에디터에서 캐럿을 유형 또는 메서드의 사용 위치나 선언 위에 배치하거나 Alt+Home을 눌러서 베이스 유형 또는 메서드의 계층 구조를 탐색할 수 있습니다.
탐색하는 동안, 메서드 선언의 왼쪽에 나타나는 특수 여백 아이콘을 통해 메서드가 다른 메서드를 재정의, 구현 또는 숨기고 있는지 확인할 수 있습니다. 해당 메서드의 계층 구조를 탐색하려면 아이콘을 클릭하세요.

심볼 선언으로 이동

선언으로 이동

심볼 선언으로 이동하려면 캐럿을 심볼의 사용 위치에 올려놓고 F12를 누르거나 Ctrl 키를 누른 상태에서 심볼을 마우스 왼쪽 버튼으로 클릭하세요. 그러면 ReSharper가 관련 소스 파일에서 해당 유형, 메서드, 필드 또는 지역 변수의 선언으로 이동합니다. 라이브러리 심볼의 경우, ReSharper 설정에 따라 해당 엔티티가 Visual Studio의 Object Browser(객체 브라우저) 또는 에디터에서 메타데이터 뷰 또는 역컴파일된 코드로 표시됩니다.

사용 위치 간 이동

사용 위치 간 이동

또한 캐럿이 이미 심볼 선언에 있을 경우, Go to Declaration(선언으로 이동) 명령어를 실행할 수 있습니다. 하나의 선언과 하나의 사용 위치가 있을 경우, 하나의 단축키를 사용해 해당 항목 사이를 간단히 전환할 수 있습니다. 심볼의 사용 위치가 여러 개일 경우, 계속해서 Go to Declaration을 누르면 한 번에 하나씩 추가로 발견된 심볼의 사용 위치로 이동합니다. 사용 위치 간 이동 기능에는 Find Usages(사용 위치 검색) 같은 창이 지원되어, 해당 창에서 발견된 사용 위치를 열거하고, 사용 위치 간에 마우스 클릭으로 추가적으로 제어할 수 있으며, 원하는 경우 발견된 모든 사용 위치를 일반 Find Results(결과 검색) 창으로 보낼 수 있습니다.

관련 파일로 이동

Ctrl+Alt+F7을 눌러 사용할 수 있는 이 기능을 실행하면 현재 파일에서 참조된 파일로 이동할 수 있습니다. 이 기능은 웹사이트 및 애플리케이션에서 특히 유용합니다. 예를 들어, 웹 양식에서 마스터 페이지, 사용자 컨트롤 또는 참조 이미지로 이동할 수 있습니다. ASP.NET MVC 애플리케이션에서 이 기능은 뷰에서 컨트롤러로 또는 그 반대 방향으로 간편하게 이동할 수 있게 도와줍니다.

ReSharper가 웹 개발자에게 제공하는 고급 탐색 및 기타 기능에 대해 자세히 알아보려면 ASP.NET 및 ASP.NET MVC 도구를 참조하세요.

근처 파일로 이동

근처 파일로 이동

Navigate To(다음으로 이동) 바로가기(Alt+')로 사용할 수 있는 이 기능은 현재 파일의 프로젝트 구조를 빠르게 탐색할 수 있게 도와줍니다. 열린 팝업에서 현재 파일이 속해 있는 프로젝트, 동일 디렉터리 수준의 폴더와 파일을 확인하고, 쉽게 해당 파일로 이동하거나 새 파일 또는 폴더를 만들 수 있습니다.

라이브러리 심볼에 적용되는 'Sources from Symbol Files'(심볼 파일의 소스) 탐색 옵션 선택

라이브러리 코드로 이동

어떤 솔루션이든 고유한 소스 코드와 라이브러리에 대한 참조를 포함합니다. JetBrains는 소스 코드에서처럼 라이브러리로 이동하거나 라이브러리 내에서 탐색이 가능하다면 매우 편리할 것이라고 판단했습니다.

일부 회사는 디버그 정보 파일의 소스 서버 기능을 사용해 소스의 일부를 게시합니다(PDB). 반면, Microsoft는 이 기술을 이용해 .NET Framework의 소스 코드 액세스를 제공합니다. PDB를 사용할 수 있고 ReSharper를 설치한 경우, 그러한 방식으로 저장된 소스가 솔루션에 포함된 것처럼 해당 소스에 액세스할 수 있습니다. 특정 .NET Framework 클래스에 포함된 항목을 알아보려는 경우에도 ReSharper에서 확인할 수 있습니다.

소스 서버를 사용할 수 없는 경우도 문제 없습니다. ReSharper는 메타데이터에서 라이브러리 코드 구조를 재구성할 수 있습니다.

다음은 소스 서버를 사용할 수 있을 때의 작동 방식입니다.

  1. 라이브러리 심볼에서 Alt+'를 눌러 탐색 옵션 목록이 있는 Navigate To(다음으로 이동)를 엽니다.
  2. 라이브러리 심볼에 사용할 수 있는 외부 탐색 옵션을 선택합니다.
  3. ReSharper가 소스 서버에서 PDB 파일을 다운로드합니다.
  4. 선택된 라이브러리 심볼 선언이 솔루션에 정의되어 있는 듯이 ReSharper에서 해당 선언을 표시합니다.
심볼의 사용 위치 검색

사용 위치 검색

Find Usages(사용 위치 검색)는 코드 내 모든 심볼(유형, 메서드, 필드 등)의 사용 위치를 빠르게 검색합니다. 간단히 사용 위치를 검색하려는 심볼 위에 캐럿을 올려놓고 Shift+F12를 누르세요. ReSharper에서는 언어가 혼합된 프로젝트의 경우에도, 여러 언어에서 사용 위치를 찾을 수 있습니다.

검색 결과가 결과 찾기 창에 표시되고 계층 구조로 정리됩니다. 이 창에서 키보드나 마우스를 사용해 사용 위치로 직접 이동할 수 있습니다. Find Results(결과 검색)의 추가 기능은 다음을 포함해 검색 결과를 확인하는 다양한 방법을 제공합니다.

  • 소스 코드 미리보기
  • 손상되거나 완료되지 않은 사용 위치 강조 표시
  • 읽기 또는 쓰기 사용 위치, 호출 사용 위치, 속성 사용 위치, 문서 내 사용 위치 등 여러 가지 기준으로 필터링
  • 사용 위치 유형 및 카테고리별로 그룹 지정
  • 최근 사용 위치 검색 탭 등

Find Results 창이 열릴 때(에디터에서도) Ctrl+Alt+PageUp/PageDown을 눌러 사용 위치 사이를 이동할 수 있습니다.

관련 심볼의 사용 위치 검색

고급 사용 위치 검색 기능

찾으려는 검색 범위 및 사용 위치 유형을 지정하려면 Ctrl+Shift+Alt+F12를 눌러 Find Usages Advanced(고급 사용 위치 검색) 기능을 사용하세요.

컨텍스트에 따라 참조 라이브러리에서 검색할지, 찾으려는 텍스트의 사용 위치, 구현 속성 또는 심볼의 동적 참조를 검색할지 등, 솔루션에서 검색 범위를 정확히 지정할 수 있습니다.

파일 구조 뷰

파일 구조

File Structure(파일 구조) 창은 지원되는 모든 언어 및 파일 유형에서 사용할 수 있습니다. C# 또는 VB.NET 파일의 경우, 포함되어 있는 메서드, 필드, 클래스, 리전을 확인할 수 있을 뿐 아니라 Ctrl+Alt+F를 누르면 해당 선언으로 바로 이동할 수 있습니다.

ASP.NET에서는 File Structure를 통해 태그, 스크립트릿, 컨트롤 및 현재 열린 파일의 기타 구조 요소를 확인하고 선언으로 바로 이동할 수 있습니다. 이 기능 및 기타 탐색 기능이 웹 개발자에게 어떻게 도움이 되는지 자세히 알아보려면 ASP.NET 및 ASP.NET MVC 도구를 참조하세요.

빌드 스크립트에서는 File Structure에서 현재 스크립트에 포함된 속성 및 대상을 확인할 수 있습니다.

또한 이 창에서는 간단한 드래그 앤 드롭, 호출 탐색 액션 및 리팩터링을 이용해 파일 내 항목을 재배열하고, 리전을 생성 및 삭제할 수 있습니다.

File Structure 창은 에디터와 완벽하게 동기화됩니다. 파일에 적용된 모든 변경 내용이 File Structure에 즉시 반영되며 그 반대 방향도 마찬가지입니다.

Tab으로 구조 탐색

Tab으로 구조 탐색

ReSharper에서는 웹 브라우저에서 탐색할 때와 유사하게 TabShift+Tab 키를 사용해 코드의 논리 조각 사이를 이동할 수 있습니다.

예를 들어 for 문을 편집할 때, Tab을 누르면 이니셜라이저 구문이 선택된 다음 종료 조건과 반복자 구문이 선택됩니다. Shift+Tab을 누르면 이러한 항목을 역순으로 선택할 수 있습니다.

커서가 줄에서 공백이 아닌 첫 글자 앞에 놓여 있는 경우, 역시 Tab을 사용해서 들여쓰기를 할 수 있습니다.

자세히 알아보기: ReSharper가 Tab을 효과적으로 활용하는 방법

ReSharper의 중간 언어 뷰어

IL 뷰어

Intermediate Language Viewer(중간 언어 뷰어)를 통해 타사 라이브러리 코드를 분석하고 사용자의 소스 코드에 해당하는 IL을 표시할 수 있습니다(단, 먼저 컴파일을 해야 함).

IL 뷰어의 작동 방식을 확인하려면 메뉴에서 ReSharper | Windows(창) | IL Viewer(IL 뷰어)를 선택하세요.

ReSharper의 스택 추적 탐색기

스택 추적 탐색기

외부 스택 추적 결과가 나온 경우(예: 버그 보고서에서), 해당 스택 추적을 복사한 후 Stack Trace Explorer(스택 추적 탐색기)로 붙여넣어 예외가 발생한 위치를 탐색할 수 있습니다. 스택 추적 내에 있는 줄은 하이퍼링크로 표시됩니다. Stack Trace Explorer를 열려면 스택 추적을 클립보드로 복사한 다음, Ctrl+E, T를 누르세요.

파일로 이동

파일로 이동

Go to File(파일로 이동)을 사용하면 솔루션 내의 어떤 파일로든 이동이 가능합니다. 이 명령어의 단축키는 Ctrl+Shift+T이고, 다른 '이동' 명령에서 사용되는 모든 검색 방법과 와일드카드를 지원합니다.

파생 심볼로 이동

파생 심볼로 이동

Alt+End를 눌러 이 명령어를 실행하면 파생 유형 또는 메서드로 이동할 수 있습니다. 중간 상속자는 굵은 글씨로 강조 표시됩니다.

제네릭 대체 유형으로 이동

제네릭 대체 유형으로 이동

Navigate To(다음으로 이동) 바로가기로 사용할 수 있는 이 명령어는 선택된 제네릭 유형 매개변수를 대체하는 모든 유형과 각 대체 유형이 사용되는 모든 코드 위치의 목록을 보여줍니다.

심볼 유형으로 이동

유형 선언으로 이동

변수, 필드 또는 파라미터가 속하는 유형의 선언으로 이동하려면 Ctrl+Shift+F11을 누르세요. ReSharper가 소스 코드의 선언으로 전환하거나, 라이브러리 유형의 경우 Object Browser(객체 브라우저)에 해당 심볼을 표시하거나 역컴파일된 코드를 보여줍니다.

다음 멤버/태그로 이동

Alt+Up을 누르면 C# 또는 VB.NET 코드 파일에서 다음 파일 멤버로, 또는 XML이나 XAML 파일에서 다음 태그로 빠르게 이동할 수 있습니다.

이전 멤버/태그로 이동

Go to Next Member(다음 멤버로 이동)와 유사하게, 이 기능을 통해 이전 멤버 또는 태그로 이동할 수 있습니다. 간단히 Alt+Down을 누르기만 하면 됩니다.

심볼의 사용 위치로 이동

사용 위치로 이동

Shift+Alt+F12를 눌러 사용 위치가 거의 없는(예: private 필드) 심볼로 빠르게 이동할 수 있습니다. 전체 도구 창이 열리지 않고, 팝업에서 사용 위치가 표시됩니다.

심볼의 사용 위치 목록이 표시된 팝업에 항목이 너무 많이 포함된 경우, 팝업의 상단 오른쪽 모서리에 있는 돋보기 아이콘을 클릭하기만 하면 사용 위치의 목록을 Find Results(결과 검색) 창으로 전송할 수 있습니다.

ReSharper에서 사용 위치 강조 표시

사용 위치 강조 표시

현재 파일 내에서 심볼의 모든 사용 위치를 강조 표시하려면 캐럿을 한 사용 위치 위에 놓고 Shift+Alt+F11을 누르면 됩니다. 또한 네임스페이스 가져오기 지시문 및 표현식의 사용 위치도 강조 표시할 수 있습니다. 대용량 파일에서는 오른쪽의 마커 막대를 사용해 강조 표시된 사용 위치 사이를 탐색할 수 있습니다.
ReSharper는 XAML 마크업 및 언어 전체에서 심볼의 사용 위치를 빠르게 찾아 강조 표시합니다.

ReSharper 패턴 카탈로그에 나열된 패턴 검색 및 바꾸기

구조 검색 및 바꾸기

이 기능을 이용하면 ReSharper가 바로 탐지하지 못한 코드 스멜 또는 기존 코드를 검색하는 패턴을 생성하여 올바른 코드로 교체할 수 있습니다. 뿐만 아니라, 반복 발생하는 문제가 있는 코드를 쉽게 제거할 수 있도록 사용자 지정 코드 검사를 생성하고 ReSharper가 해당 코드에 대한 빠른 수정을 제공하도록 설정할 수 있습니다.

패턴 구성과 모범 사례 강제 적용 작업이 전에 없이 간단해졌습니다. 기업 및 팀 정책, 사용자 지정 프레임워크, 즐겨 이용하는 오픈 소스 라이브러리 및 도구에도 구조적 패턴을 적용할 수 있습니다. 추가적인 기능으로, 최적의 패턴을 가져오거나 내보내서 동료들과 공유하거나 ReSharper 설치 프로그램 사이로 이동할 수 있습니다.

유형 계층 구조 뷰

유형 계층 구조

ReSharper에서는 전용 창에서 특정 유형의 상속 계층 구조를 확인할 수 있습니다. 이 창에는 기본 유형과 선택한 유형의 상속자가 모두 표시되며 한 번의 클릭으로 어느 항목으로든 이동할 수 있습니다. 계층 구조 내 노드의 경우, 별도의 미리보기 창에서 전체 멤버 또는 다형성을 가진 멤버만 조회가 가능합니다.
유형에 대한 Type Hierarchy(유형 계층 구조) 창을 열려면 캐럿을 유형 이름 위에 놓고 Ctrl+Alt+H를 누르거나 ReSharper | View(뷰) | Type Hierarchy(유형 계층 구조)를 선택하세요.

ReSharper 북마크

북마크

북마크는 단순하면서도 강력한 기능입니다. 단축키 하나로 번호가 매겨진 마커를 배치하고, 또 다른 단축키를 눌러 언제든지 해당 마커로 돌아올 수 있습니다. 번호가 매겨진 북마크는 최대 10개, 번호 없는 북마크는 무한대로 생성할 수 있습니다. 북마크된 위치의 전체 목록이 단일 팝업에 표시되므로 코드 위치 사이를 빠르게 이동할 수 있습니다.

ReSharper에서 최근 파일 보기

최근 파일 보기

Ctrl+,을 누르면 최근에 연 파일 목록이 포함된 팝업이 열리고, 여기서 탐색할 항목을 선택할 수 있습니다.

ReSharper에서 최근에 편집한 코드 위치 보기

최근 편집 보기(및 마지막 편집 위치로 이동)

Recent Edits(최근 편집)는 Recent Files(최근 파일)와 매우 유사하게 작동하며, 최근에 수정한 파일 및 심볼 목록이 포함된 팝업을 표시합니다. 현재 편집 세션이 시작된 지 시간이 꽤 지난 경우, 다시 열 파일의 이름을 입력해서 목록을 좁히세요.

또는 Ctrl+Shift+백스페이스를 눌러 Go to Last Edit Location(마지막 편집 위치로 이동)을 사용해 팝업 없이 캐럿을 가장 최근에 코드가 변경된 위치에 빠르게 배치하세요. 단축키를 연달아 누르면 편집 기록을 더 상세히 탐색할 수 있습니다.

할 일 탐색기

할 일 탐색기

To-do Explorer(할 일 탐색기)는 todo, note 및/또는 bug 태그로 표기된 모든 알림 항목을 비롯하여 NotImplementedException이 던져진 코드 위치를 추적할 수 있도록 도와줍니다. To-do Explorer는 솔루션의 모든 파일에서 해당 항목을 모두 검색하여 단일 도구 창에 표시합니다.

사용자가 직접 마커를 사용해 코드 주석에 메모를 작성한 경우, 사용자 지정 패턴을 구성하면 To-do Explorer가 해당 항목도 검색합니다.

프로세스 탐색기

프로세스 탐색기

Process Explorer(프로세스 탐색기) 창에는 현재 실행 중인 모든 프로세스가 표시되며, 해당 모듈을 탐색하거나 .NET 어셈블리에 해당하는 항목을 역컴파일링할 수 있습니다.

기본 프로세스 및 모듈을 표시하거나 숨기고, 프로세스 계층 구조 뷰를 켜도록 선택할 수 있습니다.

찾고 있는 모듈 또는 프로세스를 검색하려면 목록을 필터링한 다음, 추가적인 조사를 위해 목록의 어셈블리를 Assembly Explorer(어셈블리 탐색기)에 추가하면 됩니다.

단축키 참고사항

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