目前,我正在将自定义加载项的设置存储在注册表中,但这似乎有点麻烦。我想知道是否有一个官方的位置来存储加载项设置。我的偏好是将它们存储在Visual Studio存储设置的位置,以便可以轻松导出和导入它们。
是否可以将加载项设置与Visual Studio设置一起存储,还是有更好的方法?
最佳答案
编辑
我对该主题的最初答案是使用多年后发现的几个问题。为了完整起见,我将其包括在下面,但这是我对此的最新想法。
在VSIX中,应用程序设置的使用不是版本安全的。存储的设置文件路径的位置部分包括版本字符串和可执行文件的哈希。当Visual Studio安装正式更新时,这些值会更改,因此更改设置文件路径。 Visual Studio本身不支持使用应用程序设置,因此它不会尝试将该文件迁移到新位置,并且所有信息实际上都会丢失。
支持的设置方法是WritableSettingsStore。它与应用程序设置非常相似,并且很容易通过SVsServiceProvider访问
public static WritableSettingsStore GetWritableSettingsStore(this SVsServiceProvider vsServiceProvider)
{
var shellSettingsManager = new ShellSettingsManager(vsServiceProvider);
return shellSettingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
}
原始答案
最直接的方法是使用.Net的Application Settings基础结构来存储任何设置。这是一个成熟的框架,具有设计人员支持,可以为您的项目添加设置基础结构。
但是,它不与Visual Studio的导入/导出设置基础结构集成。使该工作正常进行是一个非常复杂的过程,包括将您自己注册为VSPackage,实现设置架构等...我通常发现运行它确实不值得(永远不会成功)
关于visual-studio - Visual Studio加载项应在哪里存储其设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534804/