从IDE启动直接从VSIX扩展中的VS服务接收事件

时间:2018-03-31 09:17:30

标签: visual-studio visual-studio-2017 vsix vsx visual-studio-package

我正在尝试创建一个Visual Studio扩展,用于关闭最近最少使用的文档。为了实现这一点,我需要能够跟踪上次使用文档的时间。我这样做的方法是在Package :: Initialize方法中注册RDT表监听器(AdviseRunningDocTableEvents)。但是,这仅在我第一次运行“清理”时执行。命令。

有没有办法为RDT表注册一个侦听器,该侦听器将直接从VS启动接收事件?请记住,我需要访问VS服务,这些代码的适当位置在哪里?

1 个答案:

答案 0 :(得分:2)

可以在特定用户界面上下文中将包设置为autoload,例如,当解决方案打开时。

ProvideAutoLoadAttribute属性设置此上下文。

....
[ProvideAutoLoad(UIContextGuids80.SolutionExists)] // choose when you want it to be loaded
...
public class MyAutoloadedPackage : Package  
{
    ...
}