在 Visual Studio 扩展中,我定义了一个 VSPackage,其中包含许多命令。在其中一个命令的处理程序中,我使用以下代码设置了用户设置:
SettingsManager settingsManager = new ShellSettingsManager(this);
WritableSettingsStore userSettingsStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
userSettingsStore.SetBoolean("Text Editor", "Visible Whitespace", true);
这成功地设置了注册表中的值(在HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0Exp\Text Editor
隔离外壳的情况下),但编辑器不会自动收到更改通知,即空白保持隐藏状态。编辑 > 高级 > 显示空白处的菜单选项也保持关闭状态。重新启动 Visual Studio 会获取更改。
如何告诉 Visual Studio 刷新其用户设置的状态,以便其他所有内容都收到更改通知?