4
我創建的Visual Studio 2008的加載項,讓我用一個熱鍵配色方案之間進行切換。定製性能的改變Visual Studio的顏色附加
我得到了它的成功加載一個配色方案,應用它,但它是非常緩慢的。
下面是應用方案的代碼:
// The Theme class is a holder for a color scheme
private static void LoadTheme(Theme theme, DTE2 application)
{
var items = GetItems(application);
foreach (var item in items)
{
if (!theme.Properties.ContainsKey(item.Name)) continue;
var prop = theme.Properties[item.Name];
item.Background = prop.Background;
item.Foreground = prop.Foreground;
item.Bold = prop.Bold;
}
}
private static IEnumerable<ColorableItems> GetItems(DTE2 application)
{
var fontsAndColorsItems = (FontsAndColorsItems) application
.get_Properties("FontsAndColors", "TextEditor")
.Item("FontsAndColorsItems")
.Object;
return fontsAndColorsItems.Cast<ColorableItems>();
}
基本上,GetItems會從Visual Studio的選項ColorableItems名單。在其中一個項目上設置屬性會立即將更改應用到VS。由於配色方案可以包含超過一百個屬性,因此會導致300多次更新操作,並且需要很長時間(筆記本電腦上的時間超過10秒)。
我想以某種方式告訴VS,我不希望它,而我更新屬性刷新,當我完成了告訴它更新,但我找不到這樣做的一種方式。
在理想情況下,整個過程將需要1或2秒,類似與VS嚮導運行的導入/導出設置。
我也接受其他方法。我有一個簡單的覆蓋註冊表設置的想法,但是我需要強制VS重新加載它的設置。