Ich arbeite mit vielen Gleitkommabildern und würde es sehr nützlich finden, eine bildbasierte Darstellung meiner Arrays zu haben. Ich möchte ein WPF-Benutzersteuerelement erstellen, das das Datenarray (wie unten gezeigt) als Bild anstelle einer bildlauffähigen Liste von Textwerten rendert.Wie kann ich in Visual Studio 2010 ein benutzerdefiniertes Add-In für Adverser für numerische Arrays erstellen?
Ist das möglich? Ich habe die MDSN documentation auf VS 2010 Erweiterbarkeit, SO list of VS 2010 extensions und this topic bei der Erstellung eines benutzerdefinierten Editors angeschaut, aber ich bin ein bisschen verloren auf, wo ich anfangen soll.
Update 1:
Dank Brian und Basarat Ali für die Leitungen auf DebuggerVisualizer. Sieht aus wie die richtige Strategie, außer dass leider ein Visualizer für jede Art von Arrays is disallowed.
Ein Workaround (von begrenztem Nutzen) ist die Visualisierung eines Wrapper-Objekts.
Bei Brian Vorschlag, ich habe eine Lösung auf CodePlex veröffentlicht:
VS2010 Debugger Visualizers Contrib (http://debuggervisualizers.codeplex.com/).
Der Quellcode des Projekts zeigt einen funktionierenden Wrapper-Visualizer und einen nicht-funktionalen "rohen" Daten-Visualizer für ein 1D double [] -Array. Hier ist ein Screenshot der Testkonsole läuft:
Wenn jemand irgendwelche Vorschläge auf hat, wie dieses Problem arbeiten-around, lass es mich wissen!
Auch jede Erklärung, warum System.Array nicht visualisiert werden kann, ist willkommen!
Update 2:
ich mit dem Wort nur wieder gesucht SO DebuggerVisualizer, und diese previously asked zu finden sein. Es sieht so aus, als würde der Benutzer Will Dean vorschlagen, Project Moles Work-around using a WeakReference zu implementieren. Sehen Sie nicht, wie dies in einem DebuggerVisualizer funktionieren würde.
Update 3:
Josh Smith von Project Molesuggested nur eine sehr hilfreiche Arbeit um (Dank Josh!):
Hinweis, können Sie Ihre ArrayWrapper Ansatz verwenden, ohne den Quellcode zu ändern um einen Visualizer zu öffnen. Sie können dies in das Überwachungsfenster in VS eingeben:
new YourNamespace.ArrayWrapper (myArray);
Drücken Sie die Eingabetaste, dann sollte ein Lupensymbol im Überwachungsfenster neben dieser Codezeile angezeigt werden. Klicken Sie darauf, um Ihren benutzerdefinierten Visualizer zu öffnen.
Danke! Siehe mein Update - sieht so aus als wäre System.Array nicht erlaubt. –
Nur zu aktualisieren, danke für den Export-Rat, aber ich möchte wirklich eine Lösung, um on-the-fly zu visualisieren. –
Sieht aus wie DebuggerVisualizer ist der Weg zu gehen. Informationen zu systemeigenen Arrays finden Sie in einem Workaround in meinem Update Nr. 3, das das Überwachungsfenster in VS verwendet. –