我正在编写一个Visual Studio扩展,需要一个给定类别的属性页列表。
鉴于"TextEditor"
,将返回以下列表。
vs环境对象DTE
可以轻松获取页面属性,但不提供获取所有页面的简单方法。
vsEnvironment.get_Properties("TextEditor", pageName);
我所追求的值实际上存储在注册表中,但是Visual Studio还提供了Settings Store,我希望能帮助我获取列表。
我将其设置如下:
var settingsManager = new ShellSettingsManager(this); //ServiceProvider.GlobalProvider
var userSettingsStore = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);
但是GetReadOnlySettingsStore
总是抛出以下异常。
The type 'Microsoft.VisualStudio.Settings.SettingsScope' exists in both 'Microsoft.VisualStudio.Shell.12.0.dll' and 'Microsoft.VisualStudio.Shell.11.0.dll'
它看起来像Mads Kristensen has used this successfully但是我仍然无法分辨出什么是错误的。
我想避免绕过API的Visual Studio提供。那么有没有人成功使用SettingsManager
或知道另一种方法来获取列表?