다음을 통해 공유


개요

VisualStudio.Extensibility 진단 탐색기 확장은 VisualStudio.Extensibility 확장을 개발하는 동안 디버그할 수 있도록 설계되었습니다. 이 확장의 대상 독자는 확장 소비자가 아닌 확장 작성자입니다. 이 확장은 확장이 상호 작용하는 확장성 지점과 IDE에 제공하는 구성 개체 확장 및 해당 구성 개체의 메타데이터를 검사하기 위한 인터페이스를 제공합니다.

시작

다음 지침에 따라 진단 탐색기를 설치, 시작 및 구성합니다.

확장 설치

Visual Studio의 확장 관리자를 통해 직접 또는 Visual Studio Marketplace(여기)에서 진단 탐색기를 가져올 수 있습니다.

참고 항목

VisualStudio.Extensibility Diagnostics Explorer 확장은 Visual Studio 2022 17.12 이상과 호환됩니다.

Visual Studio에서 진단 탐색기 열기

Visual Studio에서 진단 탐색기를 시작하려면 확장 메뉴에서 VisualStudio.Extensibility 진단 탐색기를 선택합니다.

확장의 도구 창을 여는 명령의 스크린샷

진단 컬렉션을 사용하도록 설정

진단 탐색기는 기본적으로 확장에서 관련 진단 데이터를 수집하도록 구성됩니다. 이 데이터 수집을 사용하지 않도록 설정하거나 다시 사용하도록 설정하려면 도구 창의 왼쪽 아래 모서리에 있는 진단 수집 활성화 확인란을 전환하면 됩니다. 이 설정에 대한 변경 내용을 적용하려면 Visual Studio를 다시 시작해야 합니다.

진단 페이지

진단 탐색기 도구 창의 왼쪽 패널에는 다른 진단 페이지 목록이 포함되어 있습니다. 확장 가능한 기능과 확장성 인프라의 두 가지 진단 페이지 유형이 있습니다. 확장 가능한 기능 페이지는 명령과 같은 Visual Studio 내의 특정 확장 가능한 구성 요소에 대한 진단 정보를 제공합니다. 확장성 인프라 페이지는 확장 플러그 인을 가리키는 확장성에 관계없이 관련된 진단 정보를 제공합니다. 이벤트 페이지, 확장성 관련 이벤트에 대한 라이브 뷰어 및 활성화 제약 조건을 만드는 데 도움이 되는 관련 IDE 상태를 보여 주는 클라이언트 컨텍스트 페이지는 두 확장성 인프라 페이지입니다.

도구 창의 왼쪽 패널 스크린샷입니다.

확장 가능한 기능 페이지

확장 가능한 기능 페이지에는 해당 기능 영역의 다양한 확장성 지점 왼쪽 위에 ComboBox가 있으며, 각 지점은 확장의 구성 개체에 직접 매핑할 수 있습니다. 예를 들어 명령 페이지에는 Visual Studio가 VisualStudio.Extensibility 확장에서 검색한 각 메뉴 및 도구 모음을 보여 주는 메뉴 및 도구 모음에 대한 확장성 지점이 있습니다.

확장 기능에서 속성이 업데이트되면 데이터가 실시간으로 업데이트됩니다. 예를 들어 확장이 런타임에 해당 명령 중 하나의 표시 이름을 변경하는 경우 해당 명령의 표시 이름 열에 있는 셀에 해당 명령의 새 표시 이름이 즉시 표시됩니다.

명령 페이지의 스크린샷입니다.

확장성 지점 ComboBox에는 해당 업데이트의 실시간 보기를 보여주는 로그라는 항목도 있습니다. ComboBox 옆의 모두 지우기 버튼을 사용하면 현재 보기에 표시되는 모든 줄을 지울 수 있습니다.

명령 로그 페이지의 스크린샷입니다.

확장 ComboBox를 사용하여 보기의 항목을 필터링할 수 있습니다. 이 ComboBox에서 모두를 선택하면 설치된 모든 VisualStudio.Extensibility 확장에 대한 데이터가 표시됩니다. 이 ComboBox를 특정 확장의 ID로 변경하면 해당 특정 확장과 관련된 항목만 표시됩니다. 이 ComboBox의 값은 확장 가능한 기능 페이지 사이를 탐색하는 경우에도 유지됩니다.

특정 확장으로 필터링된 명령 페이지의 스크린샷입니다.

DataGrid의 일부 셀에는 [확장하려면 클릭]이 표시됩니다. 이 메시지는 해당 속성과 관련된 메타데이터가 너무 자세하게 나와 있어 DataGrid의 셀에 깔끔하게 표시되지 않는다는 것을 의미합니다. 셀을 클릭하면 해당 셀의 실제 값을 표시하는 모달 대화 상자가 열립니다.

확장 가능한 인프라 페이지

이벤트 페이지

이벤트 페이지에는 IDE에서 "발생한 일"이 표시됩니다. 각 이벤트는 해당 이벤트와 관련된 모든 속성과 함께 DataGrid에 새 행으로 표시됩니다. 예를 들어 명령이 실행되면 명령이 속한 확장의 ID와 실행된 명령의 ID를 표시하는 보기에 명령 - 실행 이벤트가 표시됩니다.

이벤트 ComboBox를 사용하여 특정 이름의 이벤트만 포함하도록 보기를 필터링할 수 있습니다. 모두를 선택하면 모든 이벤트가 표시됩니다. 특정 이벤트를 선택하면 해당 이벤트의 모든 속성이 보기에 표시됩니다. 일부 속성은 단일 셀에 표시하기에 너무 자세한 경우 [클릭하여 확장]을 클릭해 확장해야 합니다.

계약 ComboBox는 확장 가능한 특정 기능과 관련된 이벤트만 표시하도록 보기를 필터링합니다. 또한 확장 가능한 특정 기능과 관련된 이벤트의 이름만 포함하도록 Event ComboBox를 필터링합니다.

모두 지우기 버튼을 클릭하면 보기에 현재 표시된 모든 이벤트가 삭제됩니다.

이벤트 페이지의 스크린샷입니다.

열 설명
확장 ID

확장 ID 열에는 이벤트 인스턴스와 관련된 확장의 ID가 표시됩니다. 특정 확장에 속하지 않고 대신 IDE 전체에 적용되는 경우 일부 이벤트에 대해 이 셀이 비어 있을 수 있습니다.

항목 ID

항목 ID 열에는 이벤트 인스턴스와 관련된 확장 항목의 ID가 표시됩니다. 예를 들어 Commands - Executing 이벤트에 대한 항목 ID는 실행된 명령의 ID입니다.

속성

속성 열에는 DataGrid의 단일 셀에 표시될 수 있는 이벤트 인스턴스와 관련된 속성 집합이 표시됩니다. 더 자세한 속성은 자세한 정보 대화 상자에서 또는 이벤트 ComboBox를 관심 있는 특정 이벤트의 이름으로 변경해야만 볼 수 있습니다.

자세한 정보

자세히 정보 열에는 이벤트와 관련된 자세한 메타데이터가 표시됩니다. 이 열에서 셀을 클릭하면 해당 행에 표시된 이벤트와 관련된 모든 메타데이터가 포함된 모달 대화 상자가 열립니다.

자세한 정보 대화 상자의 스크린샷입니다.

클라이언트 컨텍스트 페이지

클라이언트 컨텍스트 페이지에는 IDE 자체와 관련된 다양한 속성의 상태가 표시됩니다. Context ComboBox는 클라이언트 컨텍스트 ComboBox에서 현재 선택한 항목과 관련된 활성화 제약 조건을 모두 표시하거나 도구 창을 연 후 이러한 속성이 변경된 모든 시간의 로그를 표시하도록 보기의 데이터를 변경합니다. 이벤트 컨텍스트를 선택하면 모두 지우기 버튼을 사용하여 현재 보기에 표시되는 모든 이벤트를 삭제할 수 있습니다.

활성화 제약 조건의 현재 상태 페이지의 스크린샷입니다.

활성화 제약 조건의 이벤트 페이지의 스크린샷입니다.