Поделиться через


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

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

Примечание

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

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

Создание и подготовка проекта библиотеки классов

Создание проекта библиотеки классов

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

  2. В списке Тип проекта диалогового окна Новый проект выберите пункт Visual Basic.

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

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

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

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

Переименование Class1.vb и добавление Microsoft.VisualStudio.DebuggerVisualizers

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

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

    Примечание

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

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

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

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

  6. В файле DebuggerSide.vb добавьте следующий оператор к операторам импорта Imports:

    Imports Microsoft.VisualStudio.DebuggerVisualizers
    

Добавление кода для отладчика

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

Наследование от DialogDebuggerVisualizer

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

    Public Class DebuggerSide
    
  2. Измените код следующим образом:

    Public Class DebuggerSide
    Inherits DialogDebuggerVisualizer
    

В классе DialogDebuggerVisualizer имеется один абстрактный метод Show. Этот метод необходимо перегрузить.

Переопределение метода DialogDebuggerVisualizer.Show

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

    Protected Overrides Sub Show(ByVal windowService As Microsoft.VisualStudio.DebuggerVisualizers.IDialogVisualizerService, ByVal objectProvider As Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider)
    
        End Sub
    

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

Добавление пространства имен System.Windows.Forms

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

  2. На вкладке .NET диалогового окна Добавить ссылку выберите System.Windows.Forms.

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

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

    Imports System.Windows.Forms
    

Создание пользовательского интерфейса визуализатора

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

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

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

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

    В этом примере отсутствует код для обработки ошибок. В реальном визуализаторе, как и в приложении любого другого типа, код обработки ошибок должен присутствовать.

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

Добавление необходимого атрибута

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

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

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

    <Assembly: System.Diagnostics.DebuggerVisualizer(GetType(MyFirstVisualizer.DebuggerSide), GetType(VisualizerObjectSource), Target:=GetType(System.String), Description:="My First Visualizer")>
    
  2. В меню Построение выберите команду Построить MyFirstVisualizer. Построение проекта должно пройти без ошибок. Если при построении все же возникнут ошибки, исправьте их, прежде чем продолжить.

Создание тестового окружения

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

Добавление тестового метода для демонстрации визуализатора

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

    Shared Public Sub TestShowVisualizer(ByVal objectToVisualize As Object)
        Dim visualizerHost As New VisualizerDevelopmentHost(objectToVisualize, GetType(DebuggerSide))
    visualizerHost.ShowVisualizer()
    End Sub
    
  2. В меню Построение выберите команду Построить MyFirstVisualizer. Построение проекта должно пройти без ошибок. Если при построении все же возникнут ошибки, исправьте их, прежде чем продолжить.

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

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

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

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

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

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

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

Добавление необходимых ссылок в MyTestConsole

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

  2. На вкладке .NET диалогового окна Добавить ссылку выберите Microsoft.VisualStudio.DebuggerVisualizers.

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

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

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

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

Доводка тестового окружения и тестирование визуализатора

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

Добавление кода в MyTestConsole

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

  2. Измените имя Module1.vb на какое-нибудь более подходящее, например TestConsole.vb .

    Обратите внимание на то, что Visual Studio автоматически изменяет объявление класса в TestConsole.vb в соответствии с новым именем файла.

  3. Добавьте следующий оператор Imports в файл TestConsole.vb:

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

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

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

Тестирование визуализатора

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

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

    Будет запущено консольное приложение. Появится окно визуализатора, в котором будет выведена строка "Hello, World".

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

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

См. также

Задачи

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

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

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

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

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