【发布时间】:2015-10-01 08:49:22
【问题描述】:
我正在用 C# 编写一个 Visual Studio 扩展,我希望它会根据一天中的时间更改颜色主题(日落后将应用深色主题 - 日出时将应用蓝色/浅色主题,具体取决于用户偏好)。
我可以使用ShellSettingsManager 对象公开的WriteableSettingsStore 更改颜色主题。当我执行以下代码时,重新启动 Visual Studio 后主题会发生变化。
var settingsManager = new ShellSettingsManager(this);
var writeableUserStore = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
writeableUserStore.SetString("General", "CurrentTheme", GuidList.guidDarkTheme);
我更喜欢自动更新主题 - 我尝试使用 User32 API 的 UpdateWindow 和 RedrawWindow 函数,但窗口不会重新加载。
所以问题是 - 如何在更改注册表中的 CurrentTheme 属性后“重绘”Visual Studio?
【问题讨论】:
-
你完成了这个扩展吗?如果完成了,你是否发布到扩展市场以支持当前的 Visual Studio 2019 版本?
标签: c# visual-studio visual-studio-2012