有没有办法在保存文档时注册方法。
我尝试使用DocumentEvents.DocumentSaved但是即使保存没有任何内容也会触发此事件,我的意思是在执行save命令时文档已经保存。
答案 0 :(得分:2)
“正在运行的文档表”提供了在IVsRunningDocTableEvents3::OnBeforeSave
您需要创建IVsRunningDocTableEvents3
的实施,并在实施时调用AdviseRunningEventsMethod
答案 1 :(得分:1)
您可以收听保存命令:
class Foo
{
DTE dte;
CommandEvents commandEvents;
// ...
this.commandEvents = this.dte.Events.CommandEvents;
this.commandEvents.BeforeExecute += new _dispCommandEvents_BeforeExecuteEventHandler(CommandEvents_BeforeExecute);
// ...
void CommandEvents_BeforeExecute(string Guid, int ID, object CustomIn, object CustomOut, ref bool CancelDefault)
{
if (ID == 331)
{
// "Save" invoked
}
if (ID == 224)
{
// "Save all" invoked
}
}
}