建立設定類別
在本逐步解說中,您會建立 Visual Studio 設定類別,並用它來儲存值,並從配置檔還原值。 設定類別是一組顯示為「自定義設定點」的相關屬性;也就是匯入和導出 設定 精靈中的複選框。 (您可以在 上找到它[工具] 功能表表。) 設定 會儲存或還原為類別,且不會在精靈中顯示個別設定。 如需詳細資訊,請參閱環境設定。
您可以從 類別衍生設定類別來 DialogPage 建立設定類別。
若要開始本逐步解說,您必須先完成建立選項頁面的第一節。 產生的 Options 屬性方格可讓您檢查和變更類別中的屬性。 在設定檔中儲存屬性類別之後,您會檢查檔案,以查看屬性值的儲存方式。
建立設定類別
在本節中,您會使用自定義設定點來儲存和還原設定類別的值。
建立設定類別
完成 [ 建立選項] 頁面。
開啟 VSPackage.resx 檔案,並新增這三個字串資源:
名稱 值 106 我的類別 107 我的 設定 108 OptionInteger 和 OptionFloat 這會建立資源,將類別命名為 「My Category」、物件 「My 設定」,以及類別描述 「OptionInteger and OptionFloat」。。
注意
在這三者中,只有類別名稱不會出現在匯入和匯出 設定 精靈中。
在 MyToolsOptionsPackage.cs中,將名為
OptionFloat
的屬性新增float
至OptionPageGrid
類別,如下列範例所示。public class OptionPageGrid : DialogPage { private int optionInt = 256; private float optionFloat = 3.14F; [Category("My Options")] [DisplayName("My Integer option")] [Description("My integer option")] public int OptionInteger { get { return optionInt; } set { optionInt = value; } } [Category("My Options")] [DisplayName("My Float option")] [Description("My float option")] public float OptionFloat { get { return optionFloat; } set { optionFloat = value; } } }
注意
名為 「My Category」 的
OptionPageGrid
類別現在包含兩個屬性和OptionInteger
OptionFloat
。ProvideProfileAttribute將 新增至 類別,
MyToolsOptionsPackage
並將 CategoryName 命名為 “My Category”、將 ObjectName 命名為 “My 設定”,並將 isToolsOptionPage 設定為 true。 將 categoryResourceID、objectNameResourceID 和 DescriptionResourceID 設定為稍早建立的對應字串資源識別符。[ProvideProfileAttribute(typeof(OptionPageGrid), "My Category", "My Settings", 106, 107, isToolsOptionPage:true, DescriptionResourceID = 108)]
建置此專案並開始偵錯。 在實驗實例中,您應該會看到 [我的方格頁面 ] 現在同時具有整數和浮點數值。
檢查配置檔案
在本節中,您會將屬性類別值匯出至配置檔。 您會檢查檔案,然後將值匯回屬性類別目錄。
按 F5 以偵錯模式啟動專案。 這會啟動實驗實例。
開啟 [工具選項]>對話框。
在左窗格中的樹檢視中,展開 [我的類別 ],然後按兩下 [ 我的方格頁面]。
將OptionFloat的值變更為3.1416,並將OptionInteger的值變更為12。 按一下 [確定]。
按一下 [工具] 功能表上的 [匯入和匯出設定]。
[匯入和導出 設定 精靈] 隨即出現。
確定 已選取 [匯出選取的環境設定 ],然後按 [ 下一步]。
[選擇要匯出 設定] 頁面隨即出現。
按兩下 [我的 設定]。
[描述] 會變更為 OptionInteger 和 OptionFloat。
請確定 [我的 設定 是唯一選取的類別,然後按 [下一步]。
[命名您的 設定 檔案] 頁面隨即出現。
將新的配置檔命名為 My 設定.vssettings,並將它儲存在適當的目錄中。 按一下完成。
檔案
.vssettings
是 Visual Studio 配置檔。 檔案的架構是開放的。 最常見的是,該架構遵循 XML 結構,其中每個類別都是一個標籤,它本身可以包含子類別標籤。 這些子類別標籤可以包含屬性值標記。 雖然大部分的套件會使用一般的結構,但 Visual Studio 中的任何套件都可以使用它所選擇的架構來向檔案提供任意的 XML。[ 匯出完成 ] 頁面會報告您的設定已成功匯出。
在 [檔案] 功能表上,指向 [開啟舊檔],再按一下 [檔案]。 找出 My 設定.vssettings 並加以開啟。
您可以在檔案的下一節中找到您導出的屬性類別目錄(您的 GUID 將會有所不同)。
<Category name="My Category_My Settings" Category="{4802bc3e-3d9d-4591-8201-23d1a05216a6}" Package="{6bb6942e-014c-489e-a612-a935680f703d}" RegisteredName="My Category_My Settings"> PackageName="MyToolsOptionsPackage"> <PropertyValue name="OptionFloat">3.1416</PropertyValue> <PropertyValue name="OptionInteger">12</PropertyValue> </Category>
請注意,完整類別名稱是由將底線加到類別名稱後面接著物件名稱所組成。 OptionFloat 和 OptionInteger 會出現在類別中,以及其導出的值。
關閉配置檔案而不加以變更。
在 [工具] 功能表上,按兩下 [選項],展開 [我的類別],單擊 [我的方格頁面],然後將 OptionFloat 的值變更為 1.0,並將 OptionInteger 的值變更為 1。 按一下 [確定]。
在 [工具] 功能表上,按兩下 [匯入和匯出] 設定,選取 [匯入選取的環境設定],然後按 [下一步]。
[儲存目前 設定] 頁面隨即出現。
選取 [ 否],只要匯入新的設定 ,然後按 [ 下一步]。
[選擇要匯入的 設定 集合] 頁面隨即出現。
在樹視圖的 [我的 設定] 節點中,選取 My 設定.vssettings 檔案。 如果檔案未出現在樹視圖中,請按兩下 [瀏覽 ] 並尋找它。 按一下 [下一步] 。
[選擇匯入 設定] 對話框隨即出現。
請確定已選取 [我的 設定],然後按兩下 [完成]。 當 [匯入 完成] 頁面出現時,按兩下 [ 關閉]。
在 [ 工具] 功能表表上,按兩下 [選項],展開 [我的類別],單擊 [ 我的方格頁面 ],並確認已還原屬性類別目錄值。