다음을 통해 공유


방법: 아키텍처 탐색기를 사용하여 코드 찾기

Visual Studio Ultimate에서는 아키텍처 탐색기를 사용하여 시각화할 코드의 세로 부분, 즉 "슬라이스"를 선택할 수 있습니다. Visual Studio 솔루션이나 컴파일된 코드에서 소스 코드를 탐색할 수 있습니다. 아키텍처 탐색기를 사용하면 추가 공급자를 설치하여 다른 도메인을 찾아볼 수 있습니다. 시각화할 코드를 찾은 경우 그래프를 생성하여 해당 코드에서 관계를 탐색할 수 있습니다. 자세한 내용은 방법: .NET 코드에 대한 종속성 그래프 생성을 참조하십시오.

참고

Visual Studio 2010 Ultimate에서 아키텍처 탐색기는 Visual C# .NET과 Visual Basic .NET만 지원합니다. C 또는 C++ 코드를 탐색하려면 Visualization and Modeling 기능 팩을 다운로드하여 설치하십시오. 아키텍처 탐색기에서 Unions, Typedefs 및 Members 형식은 C 및 C++코드에만 적용되며 선택 시 결과를 표시하지 않습니다. 자세한 내용은 Microsoft Visual Studio 2010 시각화 및 모델링 기능 팩을 참조하십시오.

항목 내용

  • 아키텍처 탐색기

  • Visual Studio 솔루션에서 소스 코드 찾기

  • 관리되는 어셈블리 또는 실행 파일의 컴파일된 코드 찾기

  • 탐색 결과 구체화

  • 탐색 결과 새로 고치기

탐색 세션을 나중에 다시 사용할 수 있도록 쿼리(.dgql 파일)로 저장할 수 있습니다.

  • 탐색 세션을 쿼리로 저장

  • 저장된 쿼리 찾기

아키텍처 탐색기

아키텍처 탐색기를 열려면

  • 아키텍처 메뉴에서 을 가리킨 다음 아키텍처 탐색기를 클릭합니다.

    아키텍처 탐색기의 크기를 조정하려면 창의 맨 윗부분을 원하는 높이로 끕니다. 아키텍처 탐색기를 이동하려면탐색기의 제목 표시줄, 즉 탭을 원하는 위치로 끕니다.

    참고

    아키텍처 탐색기 위에 오류 목록 창이나 출력 창 등의 다른 창이 표시되어 있으면 아키텍처의 크기를 조정하는 데 방해가 되지 않도록 해당 창을 이동하십시오.

아키텍처 탐색기의 최상위 도메인

아키텍처 탐색기: 도메인, 뷰, 노드, 노드 형식 및 링크 형식

아키텍처 탐색기에서는 구조를 노드로, 관계를 링크로 나타냅니다. 검색 시 아키텍처 탐색기에는 노드가 연속된 열로 표시됩니다. 첫 번째 열에서는 찾아볼 수 있는 도메인과 뷰를 보여 줍니다. 도메인 및 뷰를 선택하면 해당 뷰의 사용 가능한 노드가 아키텍처 탐색기에 표시됩니다.

열에서 노드를 선택하면 아키텍처 탐색기의 다음 열에는 선택한 노드와 논리적으로 관련된 노드가 표시됩니다. 예를 들어 네임스페이스를 선택하면 다음 열에 형식이 표시됩니다. 형식을 선택하면 다음 열에 멤버가 표시됩니다. 노드 열의 오른쪽에 세로로 나타나는 축소된 작업 열에서는 다음 열에 포함된 노드의 기본 형식 또는 관계를 보여 줍니다. 작업 열을 확장하고 특정 노드 또는 링크 형식을 선택하면 다음 열의 결과를 필터링할 수 있습니다.

참고

작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.

Visual Studio 솔루션에서 소스 코드 찾기

이 릴리스에 포함되어 있는 미리 정의된 쿼리를 사용하려면 저장된 쿼리 찾기를 참조하십시오. 그렇지 않으면 아키텍처 탐색기에서 솔루션 뷰 또는 클래스 뷰를 사용하여 식 트리의 수준까지 소스 코드를 탐색할 수 있습니다.

  • 클래스 뷰에는 Visual Studio 솔루션의 논리 뷰가 표시됩니다. 예를 들어 네임스페이스, 클래스, 멤버 등의 항목별로 탐색할 수 있습니다.

    아키텍처 탐색기의 클래스 뷰

    아키텍처 탐색기의 클래스 뷰

  • 솔루션 뷰에는 Visual Studio 솔루션의 실제 뷰가 표시됩니다. 예를 들어 프로젝트, 프로젝트 파일 등의 항목별로 탐색할 수 있습니다.

    아키텍처 탐색기의 솔루션 뷰

    아키텍처 탐색기의 솔루션 뷰 저장된 쿼리 찾기

솔루션의 코드를 찾으려면

  1. 아키텍처 탐색기의 첫 번째 열에 있는 Visual Studio <solution name> 아래에서 클래스 뷰 또는 솔루션 뷰를 클릭합니다.

    첫 번째 열의 오른쪽에 노드 열이 나타납니다. 이 열에는 선택한 뷰에서 사용할 수 있는 모든 노드가 표시됩니다. 예를 들어 클래스 뷰를 선택한 경우 솔루션에 논리적으로 존재하는 모든 네임스페이스가 표시됩니다.

  2. 노드 열에서 노드를 하나 이상 선택하여 관련 노드가 포함된 다음 열이 표시되도록 합니다. 현재 열의 모든 노드를 선택하려면 Ctrl+A를 누릅니다.

  3. 원하는 노드를 찾을 때까지 2단계를 반복합니다.

    참고

    열을 지우고 쿼리를 다시 시작하려면 아키텍처 탐색기 제목 표시줄 아래의 열 지우기를 클릭합니다.

관리되는 어셈블리 또는 실행 파일의 컴파일된 코드 찾기

아키텍처 탐색기의 파일 선택을 사용하여 메서드 간 호출 수준까지 관리되는 어셈블리를 탐색할 수 있습니다.

컴파일된 코드를 찾으려면

  1. 아키텍처 메뉴에서 을 가리킨 다음 아키텍처 탐색기를 클릭합니다.

  2. 첫 번째 열의 파일 시스템에서 파일 선택을 클릭합니다.

  3. 열기 대화 상자에서 관리되는 어셈블리 파일(.dll) 또는 실행 파일(.exe)을 찾아 선택한 다음 열기를 클릭합니다.

    노드 열이 나타나면서 선택한 파일이 표시됩니다.

  4. 노드 열에서 파일을 하나 이상 선택합니다.

    또 다른 노드 열이 나타나면서 선택한 파일의 모든 노드가 표시됩니다.

  5. 노드를 하나 이상 선택하여 관련 노드가 포함된 다음 열이 표시되도록 합니다. 현재 열의 모든 노드를 선택하려면 Ctrl+A를 누릅니다.

  6. 원하는 노드를 찾을 때까지 4단계를 반복합니다.

탐색 결과 구체화

다음 방법으로 탐색 세션의 결과를 구체화할 수 있습니다.

  • 현재 열의 노드를 이름별로 필터링합니다.

  • 현재 열의 노드를 노드 형식 또는 속성별로 필터링합니다.

  • 다음 열의 노드를 노드 형식별로 필터링합니다.

  • 다음 열의 노드를 링크 형식별로 필터링합니다.

  • 컨테이너 또는 속성 값별로 노드를 그룹화합니다.

현재 열의 노드를 이름별로 필터링

현재 열을 이름으로 필터링

현재 열을 이름별로 필터링

현재 열의 노드를 이름별로 필터링하려면

  1. 아키텍처 탐색기에서 노드 열의 맨 위에 있는 음영 영역을 클릭하여 필터 상자를 표시합니다.

  2. 이름을 입력하고 Enter 키를 누릅니다.

    현재 열에 일치하는 노드만 표시됩니다. 열의 오른쪽 아래에는 해당 열이 필터링되었음을 나타내는 워터마크가 표시됩니다.

현재 열의 노드를 노드 형식 또는 속성별로 필터링

현재 열을 범주 또는 속성으로 필터링

현재 열을 형식 또는 속성별로 필터링

현재 열의 노드를 형식 또는 속성별로 필터링하려면

  1. 아키텍처 탐색기에서 노드 열의 맨 위에 있는 음영 영역을 클릭하여 필터 상자를 표시합니다.

  2. 필터 상자의 왼쪽에서 현재 열의 항목을 범주 및 속성별로 필터링합니다. 단추를 클릭합니다.

  3. 특정 형식의 노드만 표시하려면 범주에서 원하는 형식을 클릭합니다.

  4. 특정 속성의 노드만 표시하려면 속성에서 원하는 속성을 클릭합니다.

  5. 끝마쳤으면 확인을 클릭합니다.

    현재 열에 일치하는 노드만 표시됩니다. 열의 오른쪽 아래에는 해당 열이 필터링되었음을 나타내는 워터마크가 표시됩니다.

다음 열의 노드를 노드 형식별로 필터링

다음 열의 노드를 노드 형식별로 필터링하려면

  1. 아키텍처 탐색기에서 보려는 노드 앞에 있는 노드 열로 이동한 다음 원하는 노드를 선택합니다.

  2. 노드 열 오른쪽에서 축소된 작업 열을 클릭하여 확장합니다.

    참고

    작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.

  3. 작업 열의 노드 탐색에서 다음에 보려는 특정 노드 형식을 선택합니다.

    참고

    이러한 형식을 통합해서 보려면 여러 형식을 선택합니다.

    노드 열이 나타나면서 일치하는 노드가 표시됩니다.

다음 열의 노드를 링크 형식별로 필터링

아키텍처 탐색기에서는 다음 노드 집합을 필터링하는 데 사용되는 링크 형식을 두 개의 범주, 즉 인바운드 또는 아웃바운드로 구성합니다. 이러한 범주는 현재 선택된 노드를 기준으로 한 링크 방향을 나타냅니다. 아웃바운드 링크는 현재 선택된 노드에서 다음 관련 노드로 연결되는 링크이고, 인바운드 링크는 이전 관련 노드에서 현재 선택된 노드로 연결되는 링크입니다. 아웃바운드 링크 형식을 선택하면 아키텍처 탐색기에 다음 수준의 관련 노드가 표시됩니다. 인바운드 링크 형식을 선택하면 아키텍처 탐색기에 이전 수준의 관련 노드가 표시됩니다.

예를 들어 클래스 노드를 선택하고 아웃바운드 포함 링크 형식을 선택하면 아키텍처 탐색기에는 해당 클래스 노드에 포함된 노드가 표시됩니다. 해당 클래스 노드에 대해 인바운드 포함 위치 링크 형식을 선택하면 해당 클래스를 포함하는 네임스페이스, 클래스 파일 및 프로젝트 등의 노드가 표시됩니다.

다음 열의 노드를 링크 형식별로 필터링하려면

  1. 아키텍처 탐색기에서 보려는 노드 앞에 있는 노드 열로 이동한 다음 원하는 노드를 선택합니다.

  2. 노드 열 오른쪽에서 축소된 작업 열을 클릭하여 확장합니다.

    참고

    작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.

  3. 작업 열에서 다음 중 하나를 선택합니다.

    • 다음 수준의 관련 노드를 보려면 아웃바운드 탐색에서 보려는 링크 형식을 선택합니다.

    • 이전 수준의 관련 노드를 보려면 인바운드 탐색에서 보려는 링크 형식을 선택합니다.

      참고

      이러한 형식을 통합해서 보려면 여러 형식을 선택합니다.

    다음 열이 나타나면서 일치하는 노드가 표시됩니다.

컨테이너 또는 속성 값별로 노드 그룹화

아키텍처 탐색기에서 노드의 기존 포함 관계나 속성 값을 기준으로 노드 그룹을 만들 수 있습니다. 그룹화가 가능한 경우 이 작업을 완료하면 새 그룹 노드의 목록이 나타납니다.

아키텍처 탐색기에서 이러한 그룹을 기초로 그래프를 만들 경우 모두 그룹으로 표시 명령을 사용하여 연결된 노드를 그룹으로 구성할 수 있습니다. 자세한 내용은 다음 항목을 참조하십시오.

그룹을 사용하여 기존 그래프의 노드를 구성할 수도 있습니다. 자세한 내용은 방법: 그래프 문서 편집 및 사용자 지정을 참조하십시오.

컨테이너 또는 속성 값별로 노드를 그룹화하려면

  1. 아키텍처 탐색기에서 그룹화할 노드가 포함된 노드 열로 이동합니다. 해당 열의 모든 항목을 선택하려면 Ctrl+A를 누릅니다.

  2. 노드 열 오른쪽에서 축소된 작업 열을 클릭하여 확장합니다.

    참고

    작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.

  3. 작업 열의 그룹화에서 다음 작업을 수행합니다.

    클릭 대상

    결과

    컨테이너별 그룹화 - 사용 가능한 모든 그룹이 표시됩니다.

    • 이러한 그룹에 있는 노드를 표시하려면 그룹을 선택합니다.

      선택한 그룹에 있는 노드가 다음 열에 표시됩니다.

    속성별 그룹화 - 사용 가능한 모든 속성이 표시됩니다.

    1. 그룹으로 사용할 속성을 선택합니다.

      속성 값별로 구성된 그룹이 다음 열에 표시됩니다.

    2. 특정 속성 값을 가진 노드를 표시하려면 속성 값 그룹을 선택합니다.

    표시되는 그룹의 수와 종류는 속성 값의 형식에 따라 달라집니다.

    • 부울 값: True 및 False

    • 정수 값: 값 범위를 일정한 사분위수로 나누는 네 개의 그룹입니다.

    • 문자열 값: 고유한 문자열 값마다 하나의 그룹이 나타나며 노드는 노드의 특정 속성 값에 따라 각 그룹에 속합니다.

      이 형식은 선택한 속성이 여러 노드에서 동일한 문자열 값을 갖는 경우에 가장 유용합니다. 예를 들어 각 노드에 대해 고유한 문자열 값을 갖는 속성을 선택하면 노드 당 하나의 그룹이 표시됩니다.

탐색 결과 새로 고치기

코드 또는 솔루션에 적용된 변경 내용을 표시하려면 아키텍처 탐색기를 수동으로 새로 고쳐야 합니다.

아키텍처 탐색기를 새로 고치려면

  1. 아키텍처 탐색기에서 새로 고칠 열 앞의 노드 열로 이동합니다.

  2. 현재 열에서 업데이트된 노드와 관련된 노드를 선택합니다.

    또 다른 노드 열이 나타나면서 새로 고쳐진 노드 목록이 표시됩니다.

탐색 세션을 쿼리로 저장

아키텍처 탐색기를 사용하여 탐색 세션을 쿼리 또는 Directed Graph Query Language 파일(.dgql)로 저장할 수 있습니다. 이 쿼리를 나중에 사용할 수 있도록 디스크에 저장하거나, GraphCmd.exe 도구를 사용하여 일괄 처리 모드에서 그래프를 생성할 수 있습니다. 일괄 처리 모드 및 DGQL에서 그래프 문서를 생성하는 방법에 대한 자세한 내용은 방법: .NET 코드에 대한 종속성 그래프 생성을 참조하십시오.

탐색 세션을 저장하려면

  1. 아키텍처 탐색기 제목 표시줄 아래에서 쿼리 저장을 클릭합니다.

  2. 다른 이름으로 저장 대화 상자에서 쿼리 이름을 지정하고 이 쿼리를 다음 위치의 로컬 Queries 폴더에 .dgql 파일로 저장합니다.

    …\My Documents\Visual Studio 2010\ArchitectureExplorer\Queries

    참고

    아키텍처 탐색기에서 쿼리를 보려면 .dgql 파일을 Queries 폴더에 저장하거나 솔루션에 추가해야 합니다. 자세한 내용은 저장된 쿼리 찾기를 참조하십시오.

저장된 쿼리 찾기

쿼리 파일(.dgql)을 Visual Studio 솔루션에 추가하거나 \My Documents\Visual Studio 2010\ArchitectureExplorer\Queries 위치에 있는 로컬 Queries 폴더에 저장할 때 아키텍처 탐색기를 사용하여 쿼리 파일을 찾을 수 있습니다. 이 폴더에는 일반적으로 사용하는 미리 정의된 쿼리도 포함되어 있습니다. 

아키텍처 탐색기에서 탐색 세션을 쿼리로 저장하는 방법에 대한 자세한 내용은 탐색 세션 저장을 참조하십시오.

솔루션의 아키텍처 탐색기 쿼리

솔루션의 쿼리

솔루션에서 쿼리를 찾으려면

  1. 보기 메뉴에서 아키텍처 탐색기를 클릭합니다.

  2. 첫 번째 열의 저장된 DGQL 쿼리에서 사용자 솔루션 내를 클릭하여 쿼리 파일(.dgql)의 열이 표시되도록 합니다.

  3. 쿼리 파일 열에서 쿼리 파일을 클릭합니다.

    또 다른 열이 나타나면서 선택한 쿼리에서 얻은 노드가 표시됩니다.

  4. 노드를 하나 이상 선택하여 관련 노드가 포함된 다음 열이 표시되도록 합니다. 현재 열의 모든 노드를 선택하려면 Ctrl+A를 누릅니다.

  5. 원하는 노드를 찾을 때까지 4단계를 반복합니다.

로컬 Queries 폴더에서 쿼리를 찾으려면

  1. 보기 메뉴에서 아키텍처 탐색기를 클릭합니다.

  2. 첫 번째 열의 저장된 DGQL 쿼리에서 폴더를 클릭하여 쿼리 파일(.dgql)의 목록이 표시되도록 합니다.

    다음 표에서는 솔루션의 항목을 탐색하는 데 사용할 수 있는 미리 정의된 쿼리를 보여 줍니다.

    쿼리 파일 이름

    나타내는 요소

    All Assembly References.dgql

    해당 솔루션에서 참조하는 모든 어셈블리

    쿼리 결과에서 이러한 어셈블리 간의 종속성을 보여 주는 그래프를 생성할 수 있습니다. 자세한 내용은 방법: .NET 코드에 대한 종속성 그래프 생성을 참조하십시오.

    All Output Assemblies.dgql

    해당 솔루션에서 종속성 링크가 없는 모든 출력 어셈블리의 단순 목록

    쿼리 결과에서 선택한 어셈블리에 대한 종속성 그래프를 생성할 수 있습니다.

    1. 현재 열에서 탐색하려는 어셈블리를 선택합니다.

    2. 현재 열 오른쪽에서 축소된 작업 열을 클릭하여 확장합니다.

      참고참고
      작업 열 위로 포인터를 이동하면 작업 열이 강조 표시된 상태로 나타납니다.
    3. 작업 열의 명령에서 표준 그래프를 클릭합니다.

    All Project References.dgql

    솔루션에 포함된 프로젝트 간의 모든 참조

    쿼리 결과에서 이러한 프로젝트 간의 참조를 보여 주는 그래프를 생성할 수 있습니다. 자세한 내용은 방법: .NET 코드에 대한 종속성 그래프 생성을 참조하십시오.

    All Projects.dgql

    솔루션에 포함된 모든 프로젝트의 단순 목록

    솔루션에 솔루션 폴더가 포함된 경우 이 목록은 아키텍처 탐색기에서 솔루션 뷰를 클릭할 때 표시되는 목록과는 다릅니다.

    Constructors.dgql

    모든 생성자 메서드의 단순 목록

    Inheritance Graph.dgql

    솔루션에서 다음 관계가 있는 모든 형식

    • 상속 원본

    • 구현

    쿼리 결과에서 이러한 형식 간의 상속 관계를 보여 주는 그래프를 생성할 수 있습니다. 자세한 내용은 방법: .NET 코드에 대한 종속성 그래프 생성을 참조하십시오.

    Public Classes.dgql

    솔루션에 포함된 모든 공용 클래스의 단순 목록

    Virtual Members.dgql

    솔루션에 포함된 모든 가상 멤버의 단순 목록

  3. 쿼리 파일 열에서 쿼리 파일을 클릭합니다.

    노드 열이 나타나면서 선택한 쿼리에서 얻은 노드가 표시됩니다.

  4. 노드 열에서 노드를 하나 이상 선택하여 관련 노드 열이 표시되도록 합니다. 현재 열의 모든 노드를 선택하려면 Ctrl+A를 누릅니다.

  5. 원하는 노드를 찾을 때까지 4단계를 반복합니다.

참고 항목

개념

기존 코드 시각화