Визуализатор дерева выражения
Этот проект предоставляет пользовательскую отладку визуализатора для экспрессионных деревьев, который можно использовать при отладке с Visual Studio (в Windows). Пользовательский интерфейс содержит:
- графическое дерево структуры дерева выражения,
- представление исходного кода дерева, и
- Конечные узлы - узлы в дереве, которые не состоят из других выражений: параметры, переменные закрытия, константы и значения по умолчанию

Доступно несколько рендеристов:

Синхронизация отбора:
При выборе из дерева:

из исходного кода:

и с конечных узлов:

Для получения дополнительной информации см. Вики.
Компоненты пользовательского интерфейса также доступны в виде пакета Nuget (таргетирование .NET CORE 3.1 / .NET Framework 4.7.2), который вы можете использовать в своих собственных проектах (демонстрация доступна здесь).
Требования / поддержка
Визуализатор был протестирован с VS 2019 и VS 2017; Теоретически версия 2017 года должна работать с предыдущими версиями Vs.
Он поддерживает .NET Core, Net Framework и любая реализация .NET Standard 2.0. (Обратите внимание, что .NET Framework <4.7 могут иметь проблемы в VS 2017.)
Установка
На странице «Релизы проекта» загрузите ZIP -файл, соответствующий вашей версии Visual Studio (2019 или 2017). Затем:
- Разблокировать zip -файл.
- Извлеките файлы в папку Visualizers, сохраняя необходимую структуру папки.
Удаление
Чтобы удалить визуализатор:
- Перейдите в местоположение визуализатора. Это может быть сделано, нажав на ссылку ENGE , а затем нажав на ссылку ExpressyTreeVisualizer.dll .
- Удалите все файлы и папки, чье имя начинается с
ExpressionTreeVisualizer . Вы можете найти их, набрав name:ExpressionTreeVisualizer в поле поиска Windows.
Вклад / обратная связь
- Проверьте визуализатор. (Значение такого рода вклада нельзя переоценить.)
- Предложите идеи и улучшения (через проблемы)
- Уведомить о ошибках (через проблемы)
- Предоставьте скриншоты, демонстрирующие различные особенности визуализатора (через проблемы), которые будут включены в страницы Readme или Wiki
- Светь проект
- Распространить слово
- Предоставьте обратную связь с Microsoft об этих ограничениях для API визуализатора
Кредиты
- Серия Джона М. Райта по написанию визуализаторов отладчика
- Treeview с несколькими выборами предоставляется MultiSelectTreeView
- Читабель для вдохновения
- Greenshot и Screentogif для скриншотов