Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Классы и их члены в Visual Studio можно изучать с помощью различных окон инструментов, включая представление классов, иерархию вызовов, браузер объектов и определение кода. Эти окна инструментов могут изучать код в проектах Visual Studio, компонентах .NET, com-компонентах, библиотеках динамического канала (DLL) и библиотеках типов (TLB).
Обозреватель решений также позволяет просматривать типы и члены проектов, искать символы, просматривать иерархию вызовов метода, находить ссылки на символы и многое другое, не переключаясь между несколькими окнами инструментов.
Если у вас есть выпуск Visual Studio Enterprise, вы можете использовать карты кода для визуализации структуры кода и его зависимостей во всем решении. Дополнительные сведения см. в разделе Анализ зависимостей с помощью карт кода.
Представление классов (Visual Basic, C#, C++)
Представление классов отображается в обозревателе решений и в отдельном окне. Представление классов отображает элементы приложения. В верхней области отображаются пространства имен, типы, интерфейсы, перечисления и классы, а в нижней области отображаются элементы, принадлежащие типу, выбранному на верхней панели. С помощью этого окна можно перейти к определениям элементов в исходном коде (или в браузере объектов , если элемент определен за пределами решения).
Не нужно компилировать проект для просмотра его элементов в представлении классов. Окно обновляется при изменении кода в проекте.
Вы можете добавить код в проект, выбрав узел проекта и нажав кнопку "Добавить ", чтобы открыть диалоговое окно "Добавить новый элемент ". Код добавляется в отдельный файл.
Если проект установлен в систему управления исходным кодом, каждый элемент представления классов отображает значок, указывающий состояние исходного кода файла. Распространенные команды управления исходным кодом, такие как Check Out, Check In и Get Latest Version , также доступны в контекстном меню элемента.
Панель инструментов представления классов
Панель инструментов представления классов содержит следующие команды:
| Имя | Description |
|---|---|
| Новая папка | Создает виртуальную папку или вложенную папку, в которой можно упорядочивать часто используемые элементы. Они сохраняются в активном файле решения (SUO). После переименования или удаления элемента в коде он может появиться в виртуальной папке в качестве узла ошибки. Чтобы устранить эту проблему, удалите узел ошибки. При переименовании элемента его можно переместить из иерархии проекта в папку снова. |
| назад | Переходит к ранее выбранному элементу. |
| Предисловие | Переходит к следующему выбранному элементу. |
| Просмотр схемы классов (только управляемые проекты кода) | Становится доступным при выборе пространства имен или типа в представлении классов. При выборе пространства имен схема классов отображает все типы в нем. При выборе типа схема классов отображает только этот тип. |
Параметры представления классов
Кнопка "Параметры представления классов " на панели инструментов имеет следующие параметры:
| Имя | Description |
|---|---|
| Показать базовые типы | Отображаются базовые типы. |
| Отображение ссылок на проект | Отображаются ссылки на проект. |
| Показать скрытые типы и элементы | Скрытые типы и элементы (не предназначенные для использования клиентами) отображаются в светло-серый текст. |
| Показать общедоступные члены | Отображаются общедоступные элементы. |
| Показать защищенные элементы | Отображаются защищенные элементы. |
| Показать закрытые члены | Отображаются закрытые элементы. |
| Показать другие члены | Отображаются другие типы элементов, включая внутренние (или друг в Visual Basic). |
| Показать унаследованные элементы | Отображаются унаследованные элементы. |
Контекстное меню представления классов
Контекстное меню (или щелкните правой кнопкой мыши) в представлении классов может содержать следующие команды в зависимости от выбранного типа проекта:
| Имя | Description |
|---|---|
| перейти к определению | Находит определение элемента в исходном коде или в обозревателе объектов, если элемент не определен в открытом проекте. |
| Обзор определения | Отображает выбранный элемент в браузере объектов. |
| Поиск всех ссылок | Находит выбранный элемент объекта и отображает результаты в окне поиска результатов . |
| Фильтрация по типу (только управляемый код) | Отображает только выбранный тип или пространство имен. Вы можете удалить фильтр, нажав кнопку "Очистить поиск (X) рядом с полем поиска . |
| Copy | Копирует полное имя элемента. |
| Сортировка по алфавиту | Перечисляет типы и члены в алфавитном порядке по имени. |
| Сортировка по типу элемента | Перечисляет типы и элементы в порядке по типу (таким образом, классы предшествуют интерфейсам, интерфейсам предшествуют делегатам и методам перед свойствами). |
| Сортировка по доступу к члену | Перечисляет типы и члены в порядке по типу доступа, например общедоступному или частному. |
| Группа по типу члена | Сортирует типы и элементы в группы по типу объекта. |
| Перейти к объявлению (только код C++) | Отображает объявление типа или члена в исходном коде, если оно доступно. |
| перейти к определению | Отображает определение типа или члена в исходном коде, если оно доступно. |
| Перейти к ссылке | Отображает ссылку на тип или элемент в исходном коде, если он доступен. |
| Просмотр иерархии вызовов | Отображает выбранный метод в окне иерархии вызовов . |
Окно иерархии вызовов (Visual Basic, C#, C++)
В окне иерархии вызовов показано, где вызывается заданный метод или свойство. В нем также перечислены методы, вызываемые из этого метода. Вы можете просмотреть несколько уровней графа вызовов, в котором показаны связи вызывающего вызывающего объекта между методами в указанной области.
Окно иерархии вызовов можно отобразить, выбрав метод (или свойство или конструктор) в редакторе, а затем выбрав представление иерархии вызовов в контекстном меню. Отображение должно выглядеть следующим образом:
С помощью раскрывающегося списка на панели инструментов можно указать область иерархии: решение, текущий проект или текущий документ.
На главной панели отображаются вызовы к методу и из нее, а в области "Сайты вызовов " отображается расположение выбранного вызова. Для элементов, которые являются виртуальными или абстрактными, отображается узел имени метода Переопределения . Для членов интерфейса появится узел имени метода Implements .
Окно иерархии вызовов не находит ссылки на группы методов, в том числе места, где метод добавляется в качестве обработчика событий или назначается делегату. Чтобы найти эти ссылки, используйте команду "Найти все ссылки ".
Контекстное меню в окне иерархии вызовов содержит следующие команды:
| Имя | Description |
|---|---|
| Добавление в качестве нового корневого каталога | Добавляет выбранный узел в качестве нового корневого узла. |
| Удаление корневого каталога | Удаляет выбранный корневой узел из области представления дерева. |
| Перейти к определению | Переходит к исходному определению метода. |
| Поиск всех ссылок | Находит в проекте все ссылки на выбранный метод. |
| Copy | Копирует выбранный узел (но не его дочерние). |
| Обновить | Обновляет сведения. |
Обозреватель объектов
В окне браузера объектов отображаются описания кода в проектах.
Вы можете отфильтровать компоненты, которые нужно просмотреть, с помощью раскрывающегося списка в верхней части окна. Пользовательские компоненты могут включать исполняемые файлы управляемого кода, сборки библиотек, библиотеки типов и файлы ocx . Невозможно добавить пользовательские компоненты C++ .
Пользовательские параметры сохраняются в каталоге пользовательских приложений Visual Studio ,%APPDATA%\Microsoft\VisualStudio\16.0\ObjBrowEX.dat.
В левой области браузера объектов отображаются сборки. Вы можете развернуть сборки для отображения пространств имен, содержащихся в них, а затем развернуть пространства имен, чтобы отобразить типы, которые они содержат. При выборе типа его члены (например, свойства и методы) отображаются в правой области. В правой нижней области отображаются подробные сведения о выбранном элементе.
Вы можете найти определенный элемент с помощью поля поиска в верхней части окна. Поиск не учитывает регистр. Результаты поиска отображаются на левой панели. Чтобы очистить поиск, нажмите кнопку "Очистить поиск ( X) рядом с полем поиска .
Обозреватель объектов отслеживает выбранные вами выбранные элементы, и вы можете перемещаться между выбранными элементами с помощью кнопок "Вперед" и "Назад" на панели инструментов.
С помощью обозревателя объектов можно добавить ссылку на сборку в открытое решение, выбрав элемент (сборку, пространство имен, тип или член) и нажав кнопку "Добавить ссылку" на панели инструментов.
Параметры браузера объектов
С помощью кнопки "Параметры браузера объектов " на панели инструментов можно указать одно из следующих представлений:
| Имя | Description |
|---|---|
| Просмотр пространств имен | Отображает пространства имен, а не физические контейнеры в левой области. Пространства имен, хранящиеся в нескольких физических контейнерах, объединяются. |
| Просмотр контейнеров | Отображает физические контейнеры, а не пространства имен в левой области. Просмотр пространств имен и контейнеров представления являются взаимоисключающими параметрами. |
| Показать базовые типы | Отображает базовые типы. |
| Показать скрытые типы и элементы | Отображает скрытые типы и элементы (не предназначенные для использования клиентами) в светло-сером тексте. |
| Показать общедоступные члены | Отображает общедоступные члены. |
| Показать защищенные элементы | Отображает защищенные элементы. |
| Показать закрытые члены | Отображает закрытые члены. |
| Показать другие члены | Отображает другие типы элементов, включая внутренние (или другая) элементы в Visual Basic. |
| Показать унаследованные элементы | Отображает унаследованные элементы. |
| Показать методы расширения | Отображает методы расширения. |
Команды контекстного меню обозревателя объектов
Контекстное меню (или щелкните правой кнопкой мыши) в обозревателе объектов может содержать следующие команды в зависимости от выбранного типа элемента:
| Имя | Description |
|---|---|
| Обзор определения | Отображает основной узел для выбранного элемента. |
| Поиск всех ссылок | Находит выбранный элемент объекта и отображает результаты в окне поиска результатов . |
| Фильтрация по типу | Отображает только выбранный тип или пространство имен. Фильтр можно удалить, нажав кнопку "Очистить поиск ". |
| Copy | Копирует полное имя элемента. |
| Remove | Если область является пользовательским набором компонентов, удаляет выбранный компонент из области. |
| Сортировка по алфавиту | Перечисляет типы и члены в алфавитном порядке по имени. |
| Сортировка по типу объекта | Перечисляет типы и элементы в порядке по типу (таким образом, классы предшествуют интерфейсам, интерфейсам предшествуют делегатам и методам перед свойствами). |
| Сортировка по доступу к объектам | Перечисляет типы и члены в порядке по типу доступа, например общедоступному или частному. |
| Группировка по типу объекта | Сортирует типы и элементы в группы по типу объекта. |
| Перейти к объявлению (только проекты C++) | Отображает объявление типа или члена в исходном коде, если оно доступно. |
| перейти к определению | Отображает определение типа или члена в исходном коде, если оно доступно. |
| Перейти к ссылке | Отображает ссылку на тип или элемент в исходном коде, если он доступен. |
| Просмотр иерархии вызовов | Отображает выбранный метод в окне иерархии вызовов . |
Окно определения кода
В окне определения кода отображается определение выбранного типа C++, C#или Visual Basic или члена в активном проекте. Тип или член можно выбрать в редакторе кода или в окне представления кода.
Хотя это окно доступно только для чтения, в нем можно задать точки останова или закладки. Чтобы изменить отображаемое определение, выберите "Изменить определение " в контекстном меню. Откроется исходный файл в редакторе кода и перемещается точка вставки в строку, в которой начинается определение.
Контекстное меню определения кода
Контекстное меню (или щелкните правой кнопкой мыши) в окне определения кода может содержать следующие команды:
| Имя | Description |
|---|---|
| Быстрые действия и рефакторинг | |
| Rename | |
| Создание графа включения файлов | |
| Просмотр определения | |
| перейти к определению | Находит определение (или определения для частичных классов) и отображает их в окне "Результаты поиска ". |
| Перейти к объявлению | |
| Поиск всех ссылок | Находит ссылки на тип или элемент в решении. |
| Просмотр иерархии вызовов | Отображает метод в окне иерархии вызовов . |
| Переключение заголовка или файла кода | |
| Выполнение тестов | Если в проекте есть модульные тесты, выполняет тесты для выбранного кода. |
| Отладка тестов | |
| Точка останова | Вставляет точку останова (или точку трассировки). |
| Запуск к курсору | Запускает программу в режиме отладки в расположении курсора. |
| Фрагмент кода | |
| Вырезать, копировать, вставлять | |
| Annotation | |
| Создание плана | Стандартные команды для структурирования. |
| Повторное сканирование | |
| Изменение определения | Перемещает точку вставки в определение в окне кода. |
| Выбор кодировки | Открывает окно кодирования , чтобы можно было задать кодировку для файла. |
Окно структуры документа
Окно структуры документа можно использовать в сочетании с представлениями конструктора, такими как конструктор страницы XAML или конструктор Форм Windows, а также HTML-страницы. В этом окне отображаются элементы в виде дерева, чтобы просмотреть логическую структуру формы или страницы и найти элементы управления, которые глубоко внедрены или скрыты.