我正在为VS2010编写一个扩展,它通过重新排列代码段并插入#regions来重新排序代码页。
我希望能够在完成文本操作后调用“Edit.CollapseToDefinitions”命令。我可以通过在DTE2对象上调用ExecuteCommand来在Visual Studio模型中调用此命令。
但是,如果我在文档周围移动文本后立即调用该命令,则VS没有时间更新其大纲记录。因此,我希望能够在当前的“文本编辑器”窗口中连接到概述事件。有谁知道怎么做?
答案 0 :(得分:0)
没有好办法。您可以在IOutliningManager上侦听概述区域更改事件(通过[导入] IOutliningManagerService检索),但不能保证第一个事件将是语言服务重新发送的事件。介绍它可以的所有概述区域。大多数语言在VS空闲循环中执行,但仍然有一些延迟,因此它不会中断慢速键入。
我会尝试使用类似的东西:
IOutliningManager.RegionsChanged