종속성 그래프 찾아보기 및 다시 정렬
쉽게 읽을 수 있도록 해 주는 종속성 그래프에서 항목들을 재배열하여 렌더링 성능을 향상시킬 수 있습니다.
요구 사항
Visual Studio Ultimate, Visual Studio Premium, 또는 Visual Studio Professional
종속성 그래프를 만들려면 Visual Studio Ultimate 필요합니다. 자세한 내용은 종속성 그래프를 사용하여 코드 전체에서 종속성 매핑를 참조하십시오.
항목 내용
큰 그래프 관리
그래프 레이아웃 변경
그래프 찾아보기
노드 및 링크 검사
노드 및 링크 숨기기 또는 표시
노드 그룹화
마우스 또는 키보드를 사용하여 그래프를 탐색하는 더 많은 방법을 위해서는, 빈 그래프에서 도움말 링크를 선택합니다.
큰 그래프 관리
처음으로 종속성 그래프를 생성하는 경우 Visual Studio는 검색하고 있는 모든 종속성에 대한 인덱스 코드를 생성합니다. 이 프로세스에 약간의 시간이 걸릴 수 있지만, 특히 대규모 솔루션 혹은 많은 링크를 사용한 그래프의 경우에는, 이 인덱스는 이후 작업의 성능을 향상시킵니다. 나중에 코드가 변경되면 Visual Studio는 업데이트된 코드만을 다시 인덱싱합니다.
그래프의 생성이 종료되는 것을 기다리지 못하는 경우 특정 시점에서 생성 프로세스를 취소하고 다음 방법을 시도합니다:
원하는 종속성만 그래프로 지정합니다. 자세한 내용은 종속성 그래프를 사용하여 코드 전체에서 종속성 매핑를 참조하십시오.
전체 솔루션에 대한 그래프를 생성하기 전에 솔루션 범위를 줄입니다.
그래프를 생성한 후에는, 다음 제안 사항을 시도하십시오:
그래프 도구 모음에서 빠른 클러스터
를 선택하여 자연 종속성 클러스터를 코드에서 볼 수 있도록 합니다. 그래프 레이아웃 변경을 참조하십시오.
관련된 노드를 그룹화하여 그래프를 더 작은 영역으로 구성합니다. 자동으로 나타나는 그룹간 종속성만을 확인하려면 해당 그룹들을 축소합니다. 노드 그룹화를 참조하십시오.
필요없는 노드 및 링크를 제거 하려면 그래프를 수동으로 편집합니다. 그래프의 변경이 기본 코드에 영향을 주지 않습니다. 자세한 내용은 종속성 그래프 편집 및 사용자 지정를 참조하십시오.
그래프 레이아웃 변경
To |
그래프 도구 모음에서 또는 그래프 바로 가기 메뉴에서 |
---|---|
특정 방향으로 전체 그래프의 종속성 흐름을 정렬합니다. 이는 코드의 구조적 레이어를 볼 수 있도록 도와줍니다. |
그래프를 트리로 보려면 다음 중 하나를 선택 합니다:
|
코드에서 자연 종속성 클러스터를 참조하십시오. |
클러스터의 가운데 쪽에 있는 가장 종속성이 높은 노드와 클러스터의 바깥 쪽에 있는 가장 종속성이 낮은 클러스터를 보려면 빠른 클러스터 ![]() |
그래프에서 특정 노드를 이동하려면 그들을 드래그하십시오. 노드를 드래그할 때 방해가 되는 다른 노드와 링크를 이동시키려면 노드를 드래그할 때 SHIFT 키를 누른 채로 드래그하십시오. 트리 레이아웃 중 하나를 선택하여 그래프와 독립적으로 그룹 내 레이아웃을 변경하려면 빠른 클러스터, 또는 목록 보기가 그룹의 내용을 목록으로 정렬합니다. 노드 그룹화를 참조하십시오.
참고
다음 기능은 이 릴리스에서 지원하지 않습니다: 이웃 탐색 모드, 나비 모드, 고급 선택 및 종속성 행렬 뷰.
그래프 찾아보기
To |
수행할 단계 |
---|---|
그래프를 검색합니다. |
그래프를 원하는 방향으로 끕니다. |
그래프 확대 또는 축소 |
마우스 휠 돌리기. -또는- 그래프 도구 모음의 더하기 기호(+) 또는 빼기 기호(-)를 선택합니다. -또는- 특정 영역을 확대하려면 마우스 오른쪽 단추를 사용하여 해당 영역 주위에 사각형을 그립니다. |
크기 조정 및 창에 그래프 맞추기 |
그래프 도구 모음에서 창에 맞게 확대를 선택합니다. -또는- 그래프의 빈 영역을 두 번 클릭 합니다. |
특정 노드의 그래프를 크기 조정 및 가운데 정렬 |
노드를 확장합니다. 노드의 빈 영역 내부를 두 번 클릭합니다. Visual Studio는 전체 그룹이 그래프 창 안에 맞도록 그래프의 크기를 조정합니다. 축소된 네임스페이스, 클래스 또는 그 멤버를 두 번 클릭 하면 Visual Studio는 코드의 정의를 표시합니다. |
현재 선택된 노드에 독립적으로 포커스 이동 |
TAB 키를 누릅니다. 현재 포커스가 있는 노드 주위에 점선이 나타납니다. |
그래프에서 이름을 사용하여 노드 찾기 팁 그래프에는 없는 솔루션의 항목을 찾으려면, 솔루션 탐색기에서 항목을 찾고 항목을 그래프로 드래그합니다. |
![]()
중요 축소된 그룹에서 일치 항목을 찾을 때는 이전에 확장된 적이 있던 그룹의 경우에만 검색 상자를 사용할 수 있습니다.이러한 일치하는 항목을 찾고 해당 상위 그룹을 자동으로 확장하려면, 검색 상자에서이 옵션을 선택합니다. |
링크의 소스 또는 대상 찾기 링크가 너무 많아 특정 링크의 소스 또는 대상을 쉽게 확인할 수 없는 경우 이 방법을 사용합니다. |
|
선택하지 않은 모든 노드 선택 |
선택한 노드에 대한 바로 가기 메뉴를 엽니다. 선택, 선택 영역 반전 을 클릭합니다. |
선택한 항목에 연결 된 다른 노드 선택 |
선택한 노드에 대한 바로 가기 메뉴를 엽니다. 선택 과 다음 중 하나를 클릭합니다.:
|
노드 및 링크 검사
종속성 그래프는 다음 종류의 링크를 표시합니다:
개별 링크는 두 노드 간의 단일 관계를 나타냅니다.
그룹 간 링크는 단지 서로 다른 그룹에 있는 두 노드 간의 관계를 표현합니다.
집계 링크는 두 그룹 사이에서 동일한 방향을 가리키는 모든 관계를 나타냅니다.
팁
기본적으로 그래프에서는 선택된 노드에 대해서만 그룹 간 링크가 표시됩니다.이 링크를 항상 표시하려면 그래프 도구 모음에서 그래프에서 링크가 렌더링 되는 방식을 변경 목록 을 엽니다.그룹 간 링크 모두 표시를 선택합니다.
그룹 간 종합 된 링크를 숨깁니다.
To |
수행할 단계 |
---|---|
노드 또는 링크에 대한 자세한 내용을 참조하십시오. |
도구 설명이 나타날 때까지 마우스 포인터를 노드 또는 링크 위로 이동합니다. 집계 링크의 도구 설명에는 해당 링크가 나타내는 개별 종속성이 나열됩니다. -또는- 노드 또는 링크에 대한 바로 가기 메뉴를 엽니다. 속성을 선택합니다. |
그룹 내용 표시 또는 숨기기 |
|
네임스페이스, 형식 또는 멤버에 대한 정의를 참조하십시오. |
노드에 대한 바로 가기 메뉴를 엽니다. 이동, 정의로 이동을 선택합니다. 또는 노드를 두 번 클릭합니다. 확장된 그룹의 헤더를 두 번 클릭합니다. 또는 노드를 선택합니다. F12 키를 누릅니다. 예를 들면 다음과 같습니다.
|
링크의 소스 또는 대상 찾기 링크가 너무 많아 특정 링크의 소스 또는 대상을 쉽게 확인할 수 없는 경우 이 방법을 사용합니다. |
|
집계 링크에 참여 하는 항목과 의존성을 검사합니다. |
단일 링크:
여러 개의 링크:
Visual Studio는 그룹을 링크의 양 끝으로 확장하고 링크에 참여하는 항목 및 종속성만 표시합니다. 참고 부분 그룹에 있는 항목 간의 의존성을 검사하는 경우 다음과 같은 동작이 나타날 수 있습니다:
그룹에서 누락된 항목을 보려면 선택 자식 새로고침 |
서로 다른 그룹에 있는 여러 노드 간의 종속성 확인 |
|
노드 또는 링크가 참조하는 항목 보기 참고 이 작업은 그래프의 .dgml 파일에서 노드 또는 링크의 Reference 특성이 설정된 경우에만 수행할 수 있습니다. 노드 또는 링크에서 항목에 대한 참조를 추가하려면 종속성 그래프 편집 및 사용자 지정를 참조하십시오. |
노드에 대한 바로 가기 메뉴를 엽니다. 이동 및 항목을 선택합니다. |
노드 및 링크 숨기기 또는 표시
노드를 숨겨 레이아웃 알고리즘에 참여 하지 못하게 합니다. 그룹 간 링크는 기본적으로 숨겨져 있습니다. 그룹 간 링크는 서로 다른 그룹에 있는 노드를 연결하는 개별 링크입니다. 그룹이 축소되면, 그래프는 모든 그룹 간의 링크를 하나의 그룹 간 링크로 종합합니다. 그룹을 확장하고 그룹 내의 노드를 선택했을 때 그룹 간 링크가 나타나고 해당 그룹 내의 실제 종속성을 보여 줍니다.
경고
Visual Studio Ultimate에서 Visual Studio Professional 또는 Visual Studio Premium을 사용하여 만든 그래프를 공유 하기 전에, 노드 또는 다른 사람에게 보여주기 원하는 그룹 간 링크의 숨기기를 취소 해야 합니다.그렇지 않으면, 해당 사용자가 해당 항목을 숨기기 취소 할 수 없습니다.
노드를 숨기거나 표시하려면
To |
수행할 단계 |
---|---|
선택한 노드 숨기기 |
|
선택하지 않은 노드 숨기기 |
|
숨겨진 노드를 모두 표시 |
|
.dgml 파일을 편집하여 노드를 숨기기 |
|
링크를 표시하거나 숨기려면
To |
그래프의 도구 모음에서 그래프에 링크가 렌더링 되는 방식을 변경 을 열거나 그래프 바로 가기 메뉴를 열어 선택: |
---|---|
그룹 간 링크 항상 표시 |
그룹 간 링크 모두 표시 그룹 간 종합 된 링크를 숨깁니다. |
선택한 노드의 그룹 간 링크만 표시 |
선택한 노드에서 그룹 간 링크 표시 |
그룹 간 링크 항상 숨기기 |
그룹 간 링크 모두 숨기기 |
모든 링크 숨기기(또는 모든 링크 표시) |
모든 링크 숨기기 모든 링크를 표시하려면 모든 링크 숨기기 를 다시 클릭하여 이 모드를 해제합니다. |
노드 그룹화
To |
수행할 단계 |
---|---|
그룹 노드나 리프 노드를 컨테이너 노드로 표시 |
컨테이너 노드를 리프 노드로 표시 하려면 노드를 선택 합니다. 선택한 항목의 바로 가기 메뉴를 엽니다. 그룹, 잎으로 변환 을 선택합니다. 컨테이너 노드를 그룹 노드로 표시 하려면 노드를 선택 합니다. 선택한 항목의 바로 가기 메뉴를 엽니다. 그룹, 그룹으로 변환 을 선택합니다. 모든 리프 노드를 그룹 노드로 표시 하려면 그래프의 바로 가기 메뉴를 엽니다. 그룹, 그룹화 설정 을 선택합니다. 모든 그룹 노드를 리프 노드로 표시 하려면 그래프의 바로 가기 메뉴를 엽니다. 그룹, 그룹화 설정 을 선택합니다. |
그룹 내의 레이아웃 변경 |
|
그룹에 노드 추가 |
노드를 그룹으로 끌어 옵니다. 노드를 드래그하는 동안 Visual Studio는 노드가 이동 중이라는 것을 보여주는 표시기를 보여줍니다. 마찬가지로 그룹에서 노드를 밖으로 끌 수 있습니다. |
비그룹 노드에 노드 추가 |
노드를 그룹으로 변환 할 수 있습니다. 노드를 대상노드로 끌어 옵니다. |
선택 된 노드 그룹 |
|
특정 범주 또는 속성을 가진 노드를 포함하는 새 그룹 추가 |
|
컨테이너에 따라 노드 그룹화 |
|
속성 값에 따라 노드 그룹화 |
|
그룹 제거 |
제거할 그룹을 선택합니다. 선택한 항목의 바로 가기 메뉴를 엽니다. 그룹, 그룹 제거 를 선택합니다. |
노드를 부모 그룹에서 제거하여 부모의 상위 그룹 또는 그룹 외부(부모의 상위 그룹이 없는 경우)로 이동 |
이동할 노드를 선택합니다. 선택한 항목의 바로 가기 메뉴를 엽니다. 그룹, 부모로부터 제거 를 선택합니다. |
그래프의 .dgml 파일을 편집하여 노드를 그룹으로 구성할 수도 있습니다.
노드를 그룹으로 변환하거나 새 그룹을 추가하려면
노드를 그룹으로 변환 하기위해 노드에 대한 바로 가기 메뉴를 엽니다. 이동 , DGML 를 클릭합니다.
Visual Studio가 .dgml 파일을 열고 해당 노드의 <Node/> 요소에 강조표시를 합니다.
-또는-
새 그룹에 추가:
그래프의 빈 영역에 대해 바로 가기 메뉴를 엽니다. 이동 , DGML 를 클릭합니다.
<Nodes> 섹션 아래에 새 <Node/> 요소를 추가합니다.
<Node/> 요소에 Group 특성을 추가하여 그룹을 확장된 상태로 표시할지 축소된 상태로 표시할지를 지정합니다. 예를 들면 다음과 같습니다.
<Nodes> <Node Id="MyFirstGroup" Group="Expanded" /> <Node Id="MySecondGroup" Group="Collapsed" /> </Nodes>
<Links> 섹션에서 그룹 노드와 해당 자식 노드 간의 각 관계에 대해 다음 특성을 가진 <Link/> 요소가 있는지 확인합니다.
그룹 노드를 지정하는 Source 특성
자식 노드를 지정하는 Target 특성
그룹 노드와 해당 자식 노드 간의 Contains 관계를 지정하는 Category 특성
예를 들면 다음과 같습니다.
<Links> <Link Category="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildOne" /> <Link Category ="Contains" Source="MyFirstNewGroup" Target="FirstGroupChildTwo" /> <Link Category ="Contains" Source="MySecondNewGroup" Target="SecondGroupChildOne" /> <Link Category="Contains" Source="MySecondNewGroup" Target="SecondGroupChildTwo" /> </Links>
Category 특성에 대한 자세한 내용은 종속성 그래프 편집 및 사용자 지정에서 노드 및 링크에 범주 할당을 참조하십시오.