如何在VSIX扩展中以编程方式刷新VS代码编辑器

时间:2017-12-20 12:38:19

标签: c# visual-studio visual-studio-2015 visual-studio-extensions vsix

如何强制刷新Visual Studio的代码编辑器?

我有一个VSIX扩展,它通过VS标记机制实现自定义着色。扩展程序有一些设置,例如关闭着色。它们通过DialogPage机制集成到VS设置中,就像在MSDN示例中一样。我在我的ITaggerProvider CreateTagger实现中使用它们来决定是否应该使用tagger。

当我更改着色设置时,打开的文档的颜色不会刷新。但我可以关闭并重新打开它们,然后根据新设置的值对文档进行着色。 有没有办法告诉Visual Studio刷新代码编辑器并为其重新创建标记器?

1 个答案:

答案 0 :(得分:1)

您可以尝试关闭文档并再次打开。

    string path = dte.ActiveDocument.FullName;
    dte.ActiveDocument.Save();
    dte.ActiveDocument.Close();
    dte.ItemOperations.OpenFile(path);

编辑:更好的方法是引发在tagger类中声明的事件(实现ITagger接口)。

相关问题