使用設定存放區
設定存放區有兩種:
組態設定,這是唯讀的 Visual Studio 和 VSPackage 設定。 Visual Studio 會將所有已知 .pkgdef 檔案的設定合併到此存放區。
使用者設定,這是可寫入的設定,例如顯示在選項對話方塊、屬性頁和特定其他對話方塊上的設定。 Visual Studio 擴充功能可能會將這些用於少量資料的本機儲存體。
本逐步解說示範如何從組態設定存放區讀取資料。 如需如何寫入使用者設定存放區的說明,請參閱寫入使用者設定存放區。
建立範例專案
本節說明如何使用功能表命令建立簡單的擴充功能專案以進行示範。
每個 Visual Studio 擴充功能都是從 VSIX 部署專案開始,其中包含擴充功能資產。 建立名為
SettingsStoreExtension
的 Visual Studio VSIX 專案。 您可以在 Visual C# / Extensibility 下的新增專案對話方塊中找到 VSIX 專案範本。現在,新增名為 SettingsStoreCommand 的自訂命令項目範本。 在新增項目對話方塊中,前往 Visual C# / Extensibility,然後選取自訂命令。 在視窗底部的名稱欄位中,將命令檔案名稱變更為 SettingsStoreCommand.cs。 如需如何建立自訂命令的詳細資訊,請參閱使用功能表命令建立擴充功能
使用組態設定存放區
本節說明如何偵測和顯示組態設定。
在 SettingsStorageCommand.cs 檔案中,新增下列 using 指示詞:
using System.Collections.Generic; using Microsoft.VisualStudio.Settings; using Microsoft.VisualStudio.Shell.Settings; using System.Windows.Forms;
在
MenuItemCallback
中,移除方法的主體,並新增這些行以取得組態設定存放區:SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration);
ShellSettingsManager 是透過 IVsSettingsManager 服務 Managed 協助程式類別。
現在了解是否已安裝 Windows Phone 工具。 程式碼看起來應該類似:
private void MenuItemCallback(object sender, EventArgs e) { SettingsManager settingsManager = new ShellSettingsManager(ServiceProvider); SettingsStore configurationSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.Configuration); bool arePhoneToolsInstalled = configurationSettingsStore.CollectionExists(@"InstalledProducts\Microsoft Windows Phone Developer Tools"); string message = "Microsoft Windows Phone Developer Tools: " + arePhoneToolsInstalled; MessageBox.Show(message); }
測試程式碼。 建置此專案並開始偵錯。
在實驗執行個體中,按一下工具功能表上的叫用 SettingsStoreCommand。
您應該會看到訊息方塊,指出 Microsoft Windows Phone Developer Tools:後面接著 True 或 False。
Visual Studio 會將設定存放區保留在系統登錄中。
若要使用登錄編輯器來驗證組態設定
開啟 Regedit.exe。
瀏覽至 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0Exp_Config\InstalledProducts\。
注意
請確定您正在查看包含 \14.0Exp_Config\ 而非 \14.0_Config\ 的索引鍵。 當您執行 Visual Studio 的實驗執行個體時,組態設定位於登錄區 「14.0Exp_Config」。
展開 \Installed Products\ 節點。 如果先前步驟中的訊息是 Microsoft Windows Phone Developer Tools Installed:True,則 \Installed Products\ 應該包含 Microsoft Windows Phone Developer Tools 節點。 如果先前步驟中的訊息是 Microsoft Windows Phone Developer Tools Installed:False,則 \Installed Products\ 應該不包含 Microsoft Windows Phone Developer Tools 節點。