簡體   English   中英

如何在Visual Studio 2010中為數值數組創建自定義圖像裝飾器加載項?

[英]How can I create a custom image adorner add-in for numerical arrays in Visual Studio 2010?

我使用了大量的浮點圖像,並且發現對我的數組進行基於圖像的表示非常有用。 我想創建一個WPF UserControl,它將數據數組(如下所示)呈現為圖像,而不是可滾動的文本值列表。

這可能嗎? 我已經查看了關於VS 2010可擴展性的MDSN文檔 ,在SO的VS 2010擴展列表中 ,以及關於創建自定義編輯器的這個主題 ,但我有點迷失在哪里開始。

替代文字

更新1:

感謝Brian和Basarat Ali在DebuggerVisualizer上的領導。 看起來是正確的策略,除了不幸的是,不允許任何類型的數組的可視化器。

解決方法(有限的實用程序)是可視化包裝器對象。

在Brian的建議下,我在CodePlex上發布了一個解決方案:

VS2010 Debugger Visualizers Contribhttp://debuggervisualizers.codeplex.com/ )。

該項目的源代碼演示了一個工作包裝器可視化器和一個用於1D double []陣列的非功能性“原始”數據可視化器。 這是測試控制台運行的屏幕截圖:

替代文字

如果有人對如何解決這個問題有任何建議,請告訴我!

此外,歡迎任何解釋為什么System.Array無法可視化!

更新2:

我只是用DebuggerVisualizer這個詞重新搜索了SO,並發現這是先前要求的 看起來用戶Will Dean建議使用WeakReference實現Project Mole的解決方案。 但是,不要看看這在DebuggerVisualizer中是如何工作的。

更新3:

Project Mole的 Josh Smith剛剛提出了一個非常有用的工作(感謝Josh!):

注意,您可以使用ArrayWrapper方法,而無需修改源代碼以打開可視化工具。 您可以在VS中的Watch窗口中輸入:

new YourNamespace.ArrayWrapper(myArray);

按Enter鍵,然后您應該在該行代碼旁邊的Watch窗口中看到一個放大鏡圖標。 單擊它以打開自定義可視化工具。

您應該創建一個調試器可視化工具。 這是一個演練: http//msdn.microsoft.com/en-us/library/ms164759.aspx 我相信你想要的是能夠在外部程序中查看所有結果。 為此,您只需向列表中添加導出選項即可導出為csv文件。 但是,如果您仍然覺得需要位圖,可以使用RenderTargetBitmap將列表轉換為圖像: http//msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx

由於這是針對調試器中的運行時信息,因此您可能會考慮使用DebuggerVisualizer而不是編輯器擴展。 有一些權衡取舍,我不清楚哪種方法最好。

(在任何情況下,我認為這是可能的,它確實看起來很有用,我希望有一個周末的人可以解決一個並發布源代碼。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM