'dan çözüm ve proje olaylarına nasıl abone olurum Visual Studio için bir VSPackage aracılığıyla bir dil hizmeti geliştiriyorum. Çözüm projelerinden dosyalar eklendiğinde/kaldırıldığında, ayrıştırma verilerimi güncellemem gerekiyor.Bir VSPackage
Çözüm ve proje etkinliklerine abone olmak istiyorum.
Aşağıdakileri denedim, ancak çözümlere proje eklediğimde/kaldırırken veya projelere öğe eklediğimde/kaldırıldığında bu olaylardan hiçbiri işe yaramıyor.
DTE dte = (DTE)languageService.GetService(typeof(DTE));
if (dte == null)
return;
((Events2)dte.Events).SolutionEvents.ProjectAdded += SolutionEvents_ProjectAdded;
((Events2)dte.Events).SolutionEvents.ProjectRemoved += SolutionEvents_ProjectRemoved;
((Events2)dte.Events).ProjectItemsEvents.ItemAdded += ProjectItemsEvents_ItemAdded;
((Events2)dte.Events).ProjectItemsEvents.ItemRemoved += ProjectItemsEvents_ItemRemoved;
Bu olaylara bir VSPackage'dan abone olmanın en iyi yolu nedir? Herhangi bir yardım takdir!
Initialize() 'de' _hSolutionEvents' nedir? –
Haklısınız, kodu güncellediniz! 'UnadviseSolutionEvents' için gerekli olan '_hSolutionEvents' üzerinde başka bir düşünce vardı ve yeni kodu da ekledim. En iyi DevTool için eklentileri yapmakla ilgili fazla bilgi yok diye bir utanç var ... – FooBarTheLittle