Как я могу создать надстройку пользовательского украшения изображений для числовых массивов в Visual Studio 2010?

Я работаю с большим количеством изображений с плавающей запятой, мне было бы чрезвычайно полезно иметь представление моих массивов на основе изображений. Я хотел бы создать WPF UserControl, который отображает массив данных (как показано ниже) в виде изображения вместо прокручиваемого списка текстовых значений.

Возможно ли это? Я просмотрел документацию MDSN о расширяемости VS 2010, список SO расширений VS 2010 и этот раздел о создании настраиваемого редактора, но я немного не понимаю, с чего начать.

alt text

Обновление 1:

Спасибо Брайану и Басарату Али за руководство DebuggerVisualizer. Выглядит как правильная стратегия, ЗА ИСКЛЮЧЕНИЕМ того, что, к сожалению, визуализатор для любого типа массивов запрещен .

Работа -around (ограниченной полезности) предназначен для визуализации объекта-оболочки.

По предложению Брайана я опубликовал решение на CodePlex:

Визуализатор отладчика VS2010 s Contrib ( http://debuggervisualizers.codeplex.com/ ).

Исходный код проекта демонстрирует работающий визуализатор оболочки и нефункциональный визуализатор «сырых» данных для одномерного массива double [].Вот скриншот работающей тестовой консоли:

alt text

Если у кого-нибудь есть предложения по решению этой проблемы, дайте мне знать!

Также приветствуются любые объяснения того, почему System.Array не может быть визуализирован!

Обновление 2:

Я только что провел повторный поиск SO со словом DebuggerVisualizer и обнаружил, что это ранее запрашивалось . Похоже, пользователь Уилл Дин предлагает реализовать обходной путь Project Mole с помощью WeakReference . Однако не вижу, как это будет работать в DebuggerVisualizer.

Обновление 3:

Джош Смит из Project Mole просто предложил очень полезную работу (спасибо, Джош!):

Обратите внимание, вы можете использовать ваш подход ArrayWrapper без необходимости изменять исходный код для открытия визуализатора. Вы можете ввести это в окно Watch в VS:

new YourNamespace.ArrayWrapper (myArray);

Нажмите клавишу Enter, после чего вы увидите значок увеличительного стекла в окне Watch рядом с этой строкой кода. Щелкните его, чтобы открыть пользовательский визуализатор.

7
задан Community 23 May 2017 в 12:01
поделиться