从 IDE 启动时就从 VSIX 扩展中的 VS 服务接收事件
Receiving events from VS service in VSIX extension right from IDE startup
我正在尝试创建一个 Visual Studio 扩展来关闭最近最少使用的文档。为了实现这一点,我需要能够跟踪上次使用文档的时间。我这样做的方法是在 Package::Initialize 方法中注册一个 RDT table 侦听器 (AdviseRunningDocTableEvents)。但是,这只会在我第一次 运行 'cleanup' 命令时执行。
有没有办法为 RDT table 注册监听器,以便从 VS 启动时直接接收事件?请记住,我需要访问 VS 服务,这样的代码应该放在哪里?
包可以在特定的用户界面上下文中设置为 autoload,例如,当解决方案打开时。
ProvideAutoLoadAttribute 属性设置此上下文。
....
[ProvideAutoLoad(UIContextGuids80.SolutionExists)] // choose when you want it to be loaded
...
public class MyAutoloadedPackage : Package
{
...
}
我正在尝试创建一个 Visual Studio 扩展来关闭最近最少使用的文档。为了实现这一点,我需要能够跟踪上次使用文档的时间。我这样做的方法是在 Package::Initialize 方法中注册一个 RDT table 侦听器 (AdviseRunningDocTableEvents)。但是,这只会在我第一次 运行 'cleanup' 命令时执行。
有没有办法为 RDT table 注册监听器,以便从 VS 启动时直接接收事件?请记住,我需要访问 VS 服务,这样的代码应该放在哪里?
包可以在特定的用户界面上下文中设置为 autoload,例如,当解决方案打开时。
ProvideAutoLoadAttribute 属性设置此上下文。
....
[ProvideAutoLoad(UIContextGuids80.SolutionExists)] // choose when you want it to be loaded
...
public class MyAutoloadedPackage : Package
{
...
}