Пошаговое руководство. Написание визуализатора на C#

Этот раздел применим к:

Выпуск

Visual Basic

C#

F#

C++

Web Developer

Express

Тема не применяется Тема применяется Тема применяется Тема не применяется Тема не применяется

Pro, Premium и Ultimate

Тема не применяется Тема применяется Тема применяется Тема не применяется Тема не применяется

В данном пошаговом руководстве показано, как написать простой визуализатор, используя C#. Визуализатор, который вы создадите в данном пошаговом руководстве, показывает содержание строки, используя окно сообщений Windows Forms. Этот простой визуализатор строки сам по себе не очень полезен, но он демонстрирует основные действия для создания более полезных визуализаторов других типов данных.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска среды.Для изменения параметров выберите пункт Импорт и экспорт настроек в меню Сервис.Дополнительные сведения см. в разделе Работа с параметрами.

Код визуализатора должен быть помещен в библиотеку DLL, которая будет читаться отладчиком. Поэтому первым шагом является создание проекта библиотеки классов для библиотеки DLL.

Чтобы создать проект библиотеки классов

  1. В меню Файл выберите команду Создать , затем Создать проект.

  2. В диалоговом окне Создание проекта в меню Тип проекта выберите пункт Visual C#.

  3. В списке Шаблоны выберите Библиотека классов.

  4. В поле Имя введите соответствующее имя для библиотеки класса, например MyFirstVisualizer.

  5. Нажмите кнопку ОК.

После создания библиотеки классов необходимо добавить ссылку на Microsoft.VisualStudio.DebuggerVisualizers.DLL, таким образом вы сможете использовать определенные там классы. Однако, перед добавлением ссылки, необходимо присвоить некоторым классам осмысленные имена.

Чтобы переименовать Class1.cs и добавить Microsoft.VisualStudio.DebuggerVisualizers

  1. Щелкните правой кнопкой мыши Class1.cs в обозревателе решений и выберите команду Переименовать в контекстном меню.

  2. Измените имя с Class1.cs на что-нибудь осмысленное, например, DebuggerSide.cs.

    Примечание

    Visual Studio автоматически изменяет объявление класса в DebuggerSide.cs, чтобы оно соответствовало новому имени файла.

  3. В обозревателе решений щелкните правой кнопкой мыши пункт Ссылки и в контекстном меню выберите команду Добавить ссылку.

  4. В диалоговом окне Добавить ссылку на вкладке .NET выберите Microsoft.VisualStudio.DebuggerVisualizers.DLL.

  5. Нажмите кнопку ОК.

  6. В DebuggerSide.cs добавьте следующий оператор к инструкциям using:

    using Microsoft.VisualStudio.DebuggerVisualizers;
    

Теперь можно приступить к написанию отладочной части кода. Этот код запускается отладчиком для отображения информации, которую требуется визуализировать. Прежде всего необходимо изменить объявление объекта DebuggerSide таким образом, чтобы он наследовал базовый класс DialogDebuggerVisualizer.

Чтобы создать наследование из DialogDebuggerVisualizer

  1. В DebuggerSide.cs перейдите к следующей строке кода:

    public class DebuggerSide
    
  2. Измените код на:

    public class DebuggerSide : DialogDebuggerVisualizer
    

DialogDebuggerVisualizer имеет один абстрактный метод — Show — который необходимо переопределить.

Чтобы переопределить метод DialogDebuggerVisualizer.Show

  • В public class DebuggerSide добавьте следующий метод:

    override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
    {
    }
    

Метод Show содержит код, который фактически создает диалоговое окно визуализатора или другой интерфейс пользователя и отображает сведения, которые были переданы визуализатору из отладчика. Необходимо добавить код, который создает диалоговые окна и отображает данные. В данном пошаговом руководстве используется окно сообщения Windows Forms. Прежде всего необходимо добавить ссылку и инструкцию using для System.Windows.Forms.

Чтобы добавить System.Windows.Forms

  1. В обозревателе решений щелкните правой кнопкой мыши пункт Ссылки и в контекстном меню выберите команду Добавить ссылку.

  2. В диалоговом окне Добавление ссылки на вкладке .NET выберите System.Windows.Forms.DLL.

  3. Нажмите кнопку ОК.

  4. В DebuggerSide.cs добавьте следующий оператор к инструкциям using:

    using System.Windows.Forms;
    

Сейчас необходимо добавить некоторый код для создания и отображения пользовательского интерфейса визуализатора. Поскольку это первый визуализатор, то ограничимся написанием простого пользовательского интерфейса и используем окно сообщения.

Чтобы отобразить выходные данные визуализатора в диалоговом окне

  1. В методе Show добавьте следующую строку кода:

    MessageBox.Show(objectProvider.GetObject().ToString());
    

    Этот демонстрационный код не включает обработку ошибок. Следует включать обработку ошибок в настоящем визуализаторе или в любом другом типе приложений.

  2. В меню Построение выберите команду Построить MyFirstVisualizer. Построение проекта должно пройти без ошибок. Если при построении все же возникнут ошибки, исправьте их, прежде чем продолжить.

Отладочная часть кода написана. Тем не менее, необходимо выполнить еще одно действие: добавить атрибут, который сообщает отлаживаемому коду, какой набор классов формирует визуализатор.

Чтобы добавить код отлаживаемой стороны

  1. Добавьте следующий код атрибута в DebuggerSide.cs — после операторов using, но перед namespace MyFirstVisualizer:

    [assembly:System.Diagnostics.DebuggerVisualizer(
    typeof(MyFirstVisualizer.DebuggerSide),
    typeof(VisualizerObjectSource),
    Target  = typeof(System.String),
    Description  = "My First Visualizer")]
    
  2. В меню Построение выберите команду Построить MyFirstVisualizer. Должно быть выполнено построение объекта. Исправьте все ошибки построения, прежде чем продолжить.

На этом написание вашего первого визуализатора окончено. Если все действия выполнены правильно, можно построить визуализатор и установить его в Visual Studio. Однако перед установкой визуализатора в Visual Studio следует проверить, что он работает правильно. Теперь предстоит создать тестовую программу для запуска визуализатора без установки в Visual Studio.

Чтобы добавить тестовый метод для запуска визуализатора

  1. Добавьте следующий метод в класс public DebuggerSide:

    public static void TestShowVisualizer(object objectToVisualize)
    {
       VisualizerDevelopmentHost visualizerHost = new VisualizerDevelopmentHost(objectToVisualize, typeof(DebuggerSide));
       visualizerHost.ShowVisualizer();
    }
    
  2. В меню Построение выберите команду Построить MyFirstVisualizer. Построение проекта должно пройти без ошибок. Если при построении все же возникнут ошибки, исправьте их, прежде чем продолжить.

Далее необходимо создать проект исполняемого файла, из которого будет вызваться библиотека DLL визуализатора. Для простоты используем проект консольного приложения.

Чтобы добавить проект консольного приложения в решение

  1. В меню Файл выберите команду Добавить , а затем Создать проект.

  2. В диалоговом окне Добавление нового проекта в поле Шаблоны выберите пункт Консольное приложение.

  3. В поле Имя введите понятное имя для консольного приложения, например MyTestConsole.

  4. Нажмите кнопку ОК.

Теперь необходимо добавить необходимые ссылки, чтобы MyTestConsole могла вызывать MyFirstVisualizer.

Чтобы добавить необходимые ссылки в MyTestConsole

  1. В обозревателе решений щелкните правой кнопкой мыши MyTestConsole и в контекстном меню выберите пункт Добавить ссылку.

  2. В диалоговом окне Добавление ссылки на вкладке .NET выберите Microsoft.VisualStudio.DebuggerVisualizers.DLL.

  3. Нажмите кнопку ОК.

  4. Щелкните правой кнопкой мыши MyTestConsole и выберите Добавить ссылку еще раз.

  5. В диалоговом окне Добавление ссылки перейдите на вкладку Проекты и выберите MyFirstVisualizer.

  6. Нажмите кнопку ОК.

Теперь предстоит добавить код, чтобы завершить окружение теста.

Чтобы добавить код к MyTestConsole

  1. Щелкните правой кнопкой мыши Program.cs в обозревателе решений и выберите команду Переименовать в контекстном меню.

  2. Измените имя c Program.cs на что-нибудь более понятное, например на TestConsole.cs.

    Бумага для заметок   Visual Studio автоматически изменяет объявление класса в TestConsole.cs так, чтобы оно соответствовало новому имени файла.

  3. В TestConsole.cs добавьте следующий код к инструкциям using:

    using MyFirstVisualizer;
    
  4. В методе Main добавьте следующий код:

    String myString = "Hello, World";
    DebuggerSide.TestShowVisualizer(myString);
    

Теперь все готово для проверки вашего первого визуализатора.

Чтобы проверить визуализатор

  1. В окне Обозреватель решений щелкните правой кнопкой мыши MyTestConsole и в контекстном меню выберите команду Назначить автозагружаемым проектом.

  2. В меню Отладка выберите команду Пуск.

    Запускается консольное приложение, визуализатор появляется и отображает строку "Hello, World".

Поздравляем! Вы только что создали и протестировали ваш первый визуализатор.

Если требуется использовать визуализатор из Visual Studio (а не вызывая его из тестового примера), необходимо установить его. Дополнительные сведения см. в разделе Практическое руководство. Установка визуализатора.

Использование шаблона элемента визуализатора

На данном пошаговом руководстве было рассмотрено, как создать визуализатор вручную. Это было сделано в качестве упражнения для обучения. Теперь, когда вы знаете, как работает простой визуализатор, можно создать его проще — с помощью шаблона элемента визуализатора.

Во–первых, необходимо создать новый проект библиотеки классов.

Чтобы создать новую библиотеку классов

  1. В меню Файл выберите команду Добавить , а затем Создать проект.

  2. В диалоговом окне Добавление нового проекта в меню Тип проекта выберите Visual C#.

  3. В списке Шаблоны выберите Библиотека классов.

  4. В поле Имя введите соответствующее имя для библиотеки класса, например MySecondVisualizer.

  5. Нажмите кнопку ОК.

Теперь можно добавить элемент визуализатора.

Чтобы добавить элемент визуализатора

  1. В обозревателе решений щелкните правой кнопкой мыши MySecondVisualizer.

  2. В контекстном меню выберите команду Добавить и нажмите кнопку Создать элемент.

  3. В диалоговом окне Добавление нового элемента в меню Шаблоны , подменю Установленные шаблоны Visual Studio выберите Визуализатор отладчика.

  4. В поле Имя введите соответствующее имя, например SecondVisualizer.cs.

  5. Нажмите кнопку Добавить.

Вот и все, что нужно! Просмотрите файл SecondVisualizer.cs для изучения кода, добавленного шаблоном. Можете поэкспериментировать с кодом. Теперь, когда вы изучили основы, вы сможете в будущем создавать свои собственные более сложные и полезные визуализаторы.

См. также

Задачи

Практическое руководство. Установка визуализатора

Основные понятия

Архитектура визуализатора

Другие ресурсы

Визуализаторы