共用方式為


建立設定類別

在本逐步解說中,您會建立 Visual Studio 設定類別,並用它來儲存值,並從配置檔還原值。 設定類別是一組顯示為「自定義設定點」的相關屬性;也就是匯入和導出 設定 精靈中的複選框。 (您可以在 上找到它[工具] 功能表表。) 設定 會儲存或還原為類別,且不會在精靈中顯示個別設定。 如需詳細資訊,請參閱環境設定

您可以從 類別衍生設定類別來 DialogPage 建立設定類別。

若要開始本逐步解說,您必須先完成建立選項頁面的第一節。 產生的 Options 屬性方格可讓您檢查和變更類別中的屬性。 在設定檔中儲存屬性類別之後,您會檢查檔案,以查看屬性值的儲存方式。

建立設定類別

在本節中,您會使用自定義設定點來儲存和還原設定類別的值。

建立設定類別

  1. 完成 [ 建立選項] 頁面

  2. 開啟 VSPackage.resx 檔案,並新增這三個字串資源:

    名稱
    106 我的類別
    107 我的 設定
    108 OptionInteger 和 OptionFloat

    這會建立資源,將類別命名為 「My Category」、物件 「My 設定」,以及類別描述 「OptionInteger and OptionFloat」。。

    注意

    在這三者中,只有類別名稱不會出現在匯入和匯出 設定 精靈中。

  3. MyToolsOptionsPackage.cs中,將名為 OptionFloat 的屬性新增floatOptionPageGrid 類別,如下列範例所示。

    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

  4. 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)]
    
  5. 建置此專案並開始偵錯。 在實驗實例中,您應該會看到 [我的方格頁面 ] 現在同時具有整數和浮點數值。

檢查配置檔案

在本節中,您會將屬性類別值匯出至配置檔。 您會檢查檔案,然後將值匯回屬性類別目錄。

  1. F5 以偵錯模式啟動專案。 這會啟動實驗實例。

  2. 開啟 [工具選項]>對話框。

  3. 在左窗格中的樹檢視中,展開 [我的類別 ],然後按兩下 [ 我的方格頁面]。

  4. 將OptionFloat的值變更為3.1416,並將OptionInteger的值變更為12。 按一下 [確定]

  5. 按一下 [工具] 功能表上的 [匯入和匯出設定]

    [匯入和導出 設定 精靈] 隨即出現。

  6. 確定 已選取 [匯出選取的環境設定 ],然後按 [ 下一步]。

    [選擇要匯出 設定] 頁面隨即出現。

  7. 按兩下 [我的 設定]。

    [描述] 會變更為 OptionInteger 和 OptionFloat

  8. 請確定 [我的 設定 是唯一選取的類別,然後按 [下一步]。

    [命名您的 設定 檔案] 頁面隨即出現。

  9. 將新的配置檔命名為 My 設定.vssettings,並將它儲存在適當的目錄中。 按一下完成

    檔案 .vssettings 是 Visual Studio 配置檔。 檔案的架構是開放的。 最常見的是,該架構遵循 XML 結構,其中每個類別都是一個標籤,它本身可以包含子類別標籤。 這些子類別標籤可以包含屬性值標記。 雖然大部分的套件會使用一般的結構,但 Visual Studio 中的任何套件都可以使用它所選擇的架構來向檔案提供任意的 XML。

    [ 匯出完成 ] 頁面會報告您的設定已成功匯出。

  10. 在 [檔案] 功能表上,指向 [開啟舊檔],再按一下 [檔案]。 找出 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 會出現在類別中,以及其導出的值。

  11. 關閉配置檔案而不加以變更。

  12. 在 [工具] 功能表上,按兩下 [選項],展開 [我的類別],單擊 [我的方格頁面],然後將 OptionFloat 的值變更為 1.0,並將 OptionInteger 的值變更為 1。 按一下 [確定]

  13. 在 [工具] 功能表上,按兩下 [匯入和匯出] 設定,選取 [匯入選取的環境設定],然後按 [下一步]。

    [儲存目前 設定] 頁面隨即出現。

  14. 選取 [ 否],只要匯入新的設定 ,然後按 [ 下一步]。

    [選擇要匯入的 設定 集合] 頁面隨即出現。

  15. 樹視圖的 [我的 設定] 節點中,選取 My 設定.vssettings 檔案。 如果檔案未出現在樹視圖中,請按兩下 [瀏覽 ] 並尋找它。 按一下 [下一步] 。

    [選擇匯入 設定] 對話框隨即出現。

  16. 請確定已選取 [我的 設定],然後按兩下 [完成]。 當 [匯入 完成] 頁面出現時,按兩下 [ 關閉]。

  17. 在 [ 工具] 功能表表上,按兩下 [選項],展開 [我的類別],單擊 [ 我的方格頁面 ],並確認已還原屬性類別目錄值。