以编程方式更改Visual Studio选项C#

以编程方式更改Visual Studio选项C#,c#,visual-studio,C#,Visual Studio,我有一个Visual Studio插件,它有一个代码编辑器窗口,该窗口中的代码向用户显示彩色。我使用此项目作为基础,在visual studio中创建选项,以管理代码编辑器应显示的颜色: 在代码编辑器中,结果如下所示: 问题是,这些标记的默认颜色在深色主题上显示不好: 我发现了如何在visual studio主题发生变化时跟踪事件,以及如何在发生变化时跟踪事件(我还发现了如何确定visual studio当前运行的版本,如何在上一步中打开正确的注册表项),唯一的问题是如何通过编程将其中一个

我有一个Visual Studio插件,它有一个代码编辑器窗口,该窗口中的代码向用户显示彩色。我使用此项目作为基础,在visual studio中创建选项,以管理代码编辑器应显示的颜色:

在代码编辑器中,结果如下所示:

问题是,这些标记的默认颜色在深色主题上显示不好:


我发现了如何在visual studio主题发生变化时跟踪事件,以及如何在发生变化时跟踪事件(我还发现了如何确定visual studio当前运行的版本,如何在上一步中打开正确的注册表项),唯一的问题是如何通过编程将其中一个选项的值设置为我想要的值,例如,如何使用代码设置XXXX关键字的“项目前景”颜色?

如果您使用的是注册表,则说明您做得不对。VisualStudio公开了用于编程访问的API。请参阅,这些链接确实解释了如何创建ClassificationType/Format和Classifier,这是我用来创建您在第一幅图像中看到的选项的,但我想做的是在之后修改这些选项的值,当VisualStudio主题更改且编辑器窗口已经运行时。SLaks的这篇博文看起来是您所需内容的85%左右:但我不知道如何找到ResourceDictionary来更新它。如果您可以找到他提到的
ResourceSynchronizer
类,并查看其主题数据来自何处,您将知道您的更改必须推送到何处。