다양한 도구 창을 사용하여 코드 구조 보기

클래스 뷰, 호출 계층 구조, 개체 브라우저코드 정의(C++에만 해당)를 포함하여 다양한 도구 창을 사용하여 Visual Studio에서 클래스 및 해당 멤버를 검사할 수 있습니다. 이러한 도구 창에서는 Visual Studio 프로젝트의 코드, .NET 구성 요소, COM 구성 요소, DLL(동적 연결 라이브러리) 및 TLB(형식 라이브러리)를 검사할 수 있습니다.

클래스 뷰, 호출 계층 구조, 개체 브라우저 및 코드 정의를 비롯한 다양한 도구 창을 사용하여 Visual Studio에서 클래스와 해당 멤버를 검사할 수 있습니다. 이러한 도구 창에서는 Visual Studio 프로젝트의 코드, .NET 구성 요소, COM 구성 요소, DLL(동적 연결 라이브러리) 및 TLB(형식 라이브러리)를 검사할 수 있습니다.

또한 솔루션 탐색기를 사용하면 여러 도구 창 간에 전환하지 않고도 프로젝트의 형식 및 멤버를 찾아보고 기호를 검색하고 메서드의 호출 계층 구조를 확인하고 기호 참조를 찾는 등의 작업을 수행할 수 있습니다.

Visual Studio Enterprise Edition이 있는 경우 ‘코드 맵’을 사용하여 코드의 구조와 전체 솔루션에서의 해당 종속성을 시각화할 수 있습니다. 자세한 내용은 코드 맵으로 종속성 매핑을 참조하세요.

클래스 뷰(Visual Basic, C#, C++)

클래스 뷰솔루션 탐색기의 일부로 표시되며 별도의 창으로 표시됩니다. 클래스 뷰에는 애플리케이션의 요소가 표시됩니다. 위쪽 창에는 네임스페이스, 형식, 인터페이스, 열거 및 클래스가 표시되고, 아래쪽 창에는 위쪽 창에서 선택한 형식에 속하는 멤버가 표시됩니다. 이 창을 사용하여 소스 코드(또는 요소가 솔루션의 외부에서 정의된 경우 개체 브라우저)의 멤버 정의로 이동할 수 있습니다.

클래스 뷰에서 해당 요소를 보기 위해 프로젝트를 컴파일할 필요가 없습니다. 프로젝트에서 코드를 수정하면 창이 새로 고쳐집니다.

프로젝트 노드를 선택하고 추가 단추를 선택하여 새 항목 추가 대화 상자를 열어 프로젝트에 코드를 추가할 수 있습니다. 코드는 별도 파일에 추가됩니다.

프로젝트를 소스 코드 제어에 체크 인하는 경우 모든 클래스 뷰 요소에는 파일의 소스 코드 상태를 나타내는 아이콘이 표시됩니다. 체크 아웃, 체크 인최신 버전 가져오기와 같은 일반적인 소스 코드 제어 명령은 요소의 바로 가기 메뉴에서도 사용할 수 있습니다.

클래스 뷰 도구 모음

클래스 뷰 도구 모음에는 다음 명령이 있습니다.

이름 설명
새 폴더 자주 사용하는 요소를 구성할 수 있는 가상 폴더 또는 하위 폴더를 만듭니다. 해당 요소는 활성 솔루션(.suo) 파일에 저장됩니다. 코드에서 요소의 이름을 바꾸거나 요소를 삭제하면 가상 폴더에 오류 노드로 표시될 수 있습니다. 이 문제를 해결하려면 오류 노드를 삭제합니다. 요소의 이름을 바꾼 경우 해당 요소를 프로젝트 계층 구조에서 폴더로 다시 이동할 수 있습니다.
뒤로 이전에 선택한 항목으로 이동합니다.
앞으로 선택한 다음 항목으로 이동합니다.
클래스 다이어그램 보기(관리 코드 프로젝트에만 해당) 클래스 뷰에서 네임스페이스 또는 형식을 선택할 때 사용할 수 있게 됩니다. 네임스페이스를 선택한 경우 클래스 다이어그램이 모든 형식을 보여 줍니다. 형식을 선택한 경우 클래스 다이어그램이 해당 형식만 보여 줍니다.

클래스 뷰 설정

도구 모음의 클래스 뷰 설정 단추에는 다음 설정이 있습니다.

이름 설명
기본 형식 표시 기본 형식이 표시됩니다.
프로젝트 참조 표시 프로젝트 참조가 표시됩니다.
숨겨진 형식 및 멤버 표시 숨겨진 형식 및 멤버(클라이언트에서 사용할 수 없음)가 연한 회색 텍스트로 표시됩니다.
공용 멤버 표시 공용 멤버가 표시됩니다.
보호된 멤버 표시 보호된 멤버가 표시됩니다.
전용 멤버 표시 전용 멤버가 표시됩니다.
다른 멤버 표시 내부(또는 Visual Basic의 Friend) 멤버를 비롯하여 다른 멤버가 표시됩니다.
상속된 멤버 표시 상속된 멤버가 표시됩니다.

클래스 뷰 바로 가기 메뉴

클래스 뷰의 바로 가기(또는 오른쪽 클릭) 메뉴에는 선택한 프로젝트의 종류에 따라 다음 명령이 포함될 수 있습니다.

이름 설명
정의로 이동 열린 프로젝트에서 요소가 정의되지 않은 경우 개체 브라우저에서 또는 소스 코드에서 요소 정의를 찾습니다.
정의 찾아보기 개체 브라우저에 선택한 항목을 표시합니다.
모든 참조 찾기 현재 선택한 개체 항목을 찾아 찾기 결과 창에 결과를 표시합니다.
형식에 대한 필터(관리 코드에만 해당) 선택한 형식 또는 네임스페이스만 표시합니다. 찾기 상자 옆의 찾기 지우기(X) 단추를 선택하여 필터를 제거할 수 있습니다.
사본 항목의 정규화된 이름을 복사합니다.
사전순 정렬 이름을 기준으로 사전순으로 형식 및 멤버를 나열합니다.
멤버 유형별 정렬 유형을 기준으로 순서대로 형식 및 멤버를 나열합니다(예: 클래스가 인터페이스보다 선행하고, 인터페이스가 대리자보다 선행하고, 메서드가 속성보다 선행).
멤버 액세스별 정렬 공용 또는 전용과 같이 액세스 유형을 기준으로 순서대로 형식 및 멤버를 나열합니다.
멤버 유형별 그룹화 개체 유형별 그룹으로 형식 및 멤버를 정렬합니다.
선언으로 이동(C++코드에만 해당) 사용 가능한 경우 소스 코드에 형식 또는 멤버의 선언을 표시합니다.
정의로 이동 사용 가능한 경우 소스 코드에 형식 또는 멤버의 정의를 표시합니다.
참조로 이동 사용 가능한 경우 소스 코드에 형식 또는 멤버의 참조를 표시합니다.
호출 계층 구조 보기 호출 계층 구조 창에 선택한 메서드를 표시합니다.

호출 계층 구조 창(Visual Basic, C#, C++)

호출 계층 구조 창에는 지정된 메서드 또는 속성이 호출되는 위치가 표시됩니다. 해당 메서드에서 호출되는 메서드도 나열합니다. 지정된 범위의 메서드 중 호출자-호출 수신자 관계를 보여주는 호출 그래프의 여러 수준을 볼 수 있습니다.

편집기에서 메서드(또는 속성 또는 생성자)를 선택한 후 바로 가기 메뉴에서 호출 계층 구조 보기를 선택하여 호출 계층 구조 창을 표시할 수 있습니다. 다음 이미지와 같이 표시됩니다.

Call Hierarchy window in Visual Studio

도구 모음에서 드롭다운 목록을 사용하여 솔루션, 현재 프로젝트 또는 현재 문서와 같이 계층 구조의 범위를 지정할 수 있습니다.

주 창에는 메서드에 대한 호출 및 메서드에서의 호출이 표시되고, 호출 사이트 창에는 선택한 호출의 위치가 표시됩니다. 가상 또는 추상 멤버의 경우 메서드 이름 재정의 노드가 표시됩니다. 인터페이스 멤버의 경우 메서드 이름 구현 노드가 표시됩니다.

호출 계층 구조 창에서는 메서드가 이벤트 처리기로 추가되거나 대리자에 할당되는 위치가 포함된 메서드 그룹 참조를 찾지 않습니다. 이러한 참조를 찾으려면 모든 참조 찾기 명령을 사용합니다.

호출 계층 구조 창의 바로 가기 메뉴에는 다음 명령이 있습니다.

이름 설명
새 루트로 추가 선택한 노드를 새 루트 노드로 추가합니다.
루트 제거 트리 뷰 창에서 선택한 루트 노드를 제거합니다.
정의로 이동 메서드의 원래 정의로 이동합니다.
모든 참조 찾기 선택한 메서드에 대한 모든 참조를 프로젝트에서 찾습니다.
사본 선택한 노드(해당 하위 노드 제외)를 복사합니다.
새로 고침 정보를 새로 고칩니다.

개체 브라우저

개체 브라우저 창은 프로젝트의 코드 설명을 표시합니다.

창 맨 위에 있는 드롭다운 목록을 사용하여 보려는 구성 요소를 필터링할 수 있습니다. 사용자 지정 구성 요소에는 관리 코드 실행 파일, 라이브러리 어셈블리, 형식 라이브러리 및 .ocx 파일이 포함될 수 있습니다. C++ 사용자 지정 구성 요소는 추가할 수 없습니다.

사용자 지정 설정은 Visual Studio 사용자 애플리케이션 디렉터리, %APPDATA%\Microsoft\VisualStudio\16.0\ObjBrowEX.dat에 저장됩니다.

개체 브라우저의 왼쪽 창에 어셈블리가 표시됩니다. 어셈블리를 확장하여 해당 노드가 포함하는 네임스페이스를 표시한 후 네임스페이스를 확장하여 해당 네임스페이스가 포함하는 형식을 표시할 수 있습니다. 형식을 선택한 경우 해당 멤버(예: 속성 및 메서드)가 오른쪽 창에 나열됩니다. 오른쪽 아래 창에는 선택한 항목에 대한 자세한 정보가 표시됩니다.

창 맨 위에 있는 검색 상자를 사용하여 특정 항목을 검색할 수 있습니다. 대/소문자를 구분하지 않고 검색됩니다. 검색 결과는 왼쪽 창에 표시됩니다. 검색을 지우려면 검색 상자 옆의 검색 지우기(X) 단추를 선택합니다.

개체 브라우저는 사용자가 선택한 항목을 계속 추적하므로 도구 모음의 앞으로뒤로 단추를 사용하면 선택 항목 간에 이동할 수 있습니다.

개체 브라우저를 사용하여 항목(어셈블리, 네임스페이스, 형식 또는 멤버)을 선택하고 도구 모음의 참조 추가 단추를 선택함으로써 열린 솔루션에 어셈블리 참조를 추가할 수 있습니다.

개체 브라우저 설정

도구 모음의 개체 브라우저 설정 단추를 사용하여 다음 보기 중 하나를 지정할 수 있습니다.

이름 설명
네임스페이스 보기 왼쪽 창에 물리적 컨테이너 대신 네임스페이스를 표시합니다. 여러 물리적 컨테이너에 저장된 네임스페이스는 병합됩니다.
컨테이너 보기 왼쪽 창에 네임스페이스 대신 물리적 컨테이너를 표시합니다. 네임스페이스 보기컨테이너 보기 설정은 함께 사용할 수 없습니다.
기본 형식 표시 기본 형식을 표시합니다.
숨겨진 형식 및 멤버 표시 숨겨진 형식 및 멤버(클라이언트에서 사용할 수 없음)를 연한 회색 텍스트로 표시합니다.
공용 멤버 표시 공용 멤버를 표시합니다.
보호된 멤버 표시 보호된 멤버를 표시합니다.
전용 멤버 표시 전용 멤버를 표시합니다.
다른 멤버 표시 내부(또는 Visual Basic의 Friend) 멤버를 비롯하여 다른 멤버를 표시합니다.
상속된 멤버 표시 상속된 멤버를 표시합니다.
확장 메서드 표시 확장명 메서드를 표시합니다.

개체 브라우저 바로 가기 메뉴 명령

개체 브라우저의 바로 가기(또는 오른쪽 클릭) 메뉴에는 선택한 항목의 종류에 따라 다음 명령이 포함될 수 있습니다.

이름 설명
정의 찾아보기 선택한 항목의 주 노드를 보여 줍니다.
모든 참조 찾기 현재 선택한 개체 항목을 찾아 찾기 결과 창에 결과를 표시합니다.
형식에 대한 필터 선택한 형식 또는 네임스페이스만 표시합니다. 검색 지우기 단추를 선택하여 필터를 제거할 수 있습니다.
사본 항목의 정규화된 이름을 복사합니다.
제거 범위가 사용자 지정 구성 요소 집합인 경우 범위에서 선택한 구성 요소를 제거합니다.
사전순 정렬 이름을 기준으로 사전순으로 형식 및 멤버를 나열합니다.
개체 형식별 정렬 유형을 기준으로 순서대로 형식 및 멤버를 나열합니다(예: 클래스가 인터페이스보다 선행하고, 인터페이스가 대리자보다 선행하고, 메서드가 속성보다 선행).
개체 액세스별 정렬 공용 또는 전용과 같이 액세스 유형을 기준으로 순서대로 형식 및 멤버를 나열합니다.
개체 형식별 그룹화 개체 유형별 그룹으로 형식 및 멤버를 정렬합니다.
선언으로 이동(C++ 프로젝트에만 해당) 사용 가능한 경우 소스 코드에 형식 또는 멤버의 선언을 표시합니다.
정의로 이동 사용 가능한 경우 소스 코드에 형식 또는 멤버의 정의를 표시합니다.
참조로 이동 사용 가능한 경우 소스 코드에 형식 또는 멤버의 참조를 표시합니다.
호출 계층 구조 보기 호출 계층 구조 창에 선택한 메서드를 표시합니다.

코드 정의 창(C++)

코드 정의 창은 활성 프로젝트에서 선택한 C++ 형식 또는 멤버의 정의를 표시합니다. 형식 또는 멤버는 코드 편집기 또는 코드 보기 창에서 선택할 수 있습니다.

이 창은 읽기 전용이지만 안에 중단점 또는 책갈피를 설정할 수 있습니다. 표시된 정의를 수정하려면 바로 가기 메뉴의 정의 편집을 선택합니다. 그러면 코드 편집기에 소스 파일이 열리고 정의가 시작되는 줄로 삽입 지점이 이동합니다.

참고 항목

코드 정의 창은 C++ 코드에서만 사용할 수 있습니다.

코드 정의 창

코드 정의 창에는 현재 프로젝트에서 선택한 C++, C#또는 Visual Basic 형식 또는 멤버의 정의가 표시됩니다. 형식 또는 멤버는 코드 편집기 또는 코드 보기 창에서 선택할 수 있습니다.

이 창은 읽기 전용이지만 안에 중단점 또는 책갈피를 설정할 수 있습니다. 표시된 정의를 수정하려면 바로 가기 메뉴의 정의 편집을 선택합니다. 그러면 코드 편집기에 소스 파일이 열리고 정의가 시작되는 줄로 삽입 지점이 이동합니다.

코드 정의 바로 가기 메뉴

코드 정의 창의 바로 가기(또는 오른쪽 클릭) 메뉴에는 다음 명령이 포함될 수 있습니다.

이름 설명
빠른 작업 및 리팩터링
이름 바꾸기
포함 파일의 그래프 생성
정의 피킹(Peeking)
정의로 이동 정의(또는 partial 클래스의 경우 정의)를 찾아 찾기 결과 창에 표시합니다.
선언으로 이동
모든 참조 찾기 솔루션에서 형식 또는 멤버에 대한 참조를 찾습니다.
호출 계층 구조 보기 호출 계층 구조 창에 메서드를 표시합니다.
헤더/코드 파일 전환
테스트 실행 프로젝트에 단위 테스트가 있는 경우 선택한 코드에 대한 테스트를 실행합니다.
테스트 디버그
중단점 중단점(또는 추적점)을 삽입합니다.
커서까지 실행 디버그 모드에서 커서의 위치까지 프로그램을 실행합니다.
코드 조각
잘라내기, 복사, 붙여넣기
Annotation
개요 표준 개요 명령입니다.
다시 검사
정의 편집 코드 창에서 정의로 삽입 지점을 이동합니다.
인코딩 선택 파일에 대한 인코딩을 설정할 수 있도록 인코딩 창을 엽니다.

문서 개요 창

XAML 페이지용 디자이너 또는 Windows Forms 디자이너와 같은 디자이너 뷰와 함께 또는 HTML 페이지와 함께 문서 개요 창을 사용할 수 있습니다. 이 창은 양식 또는 페이지의 논리 구조를 확인하고 깊이 포함되거나 숨겨진 컨트롤을 찾을 수 있도록 트리 뷰에 요소를 표시합니다.