Używanie dziennika aktywności
Pakiety VSPackage mogą zapisywać komunikaty w dzienniku aktywności. Ta funkcja jest szczególnie przydatna do debugowania pakietów VSPackage w środowiskach detalicznych.
Napiwek
Dziennik aktywności jest zawsze włączony. Program Visual Studio przechowuje bufor kroczący z ostatnich 100 wpisów, a także pierwszych 10 wpisów, które zawierają ogólne informacje o konfiguracji.
Aby zapisać wpis w dzienniku aktywności
Wstaw ten kod w metodzie Initialize lub w dowolnej innej metodzie z wyjątkiem konstruktora VSPackage:
IVsActivityLog log = GetService(typeof(SVsActivityLog)) as IVsActivityLog; if (log == null) return; int hr = log.LogEntry((UInt32)__ACTIVITYLOG_ENTRYTYPE.ALE_INFORMATION, this.ToString(), string.Format(CultureInfo.CurrentCulture, "Called for: {0}", this.ToString()));
Ten kod pobiera usługę SVsActivityLog i rzutuje ją do interfejsu IVsActivityLog . LogEntry zapisuje wpis informacyjny w dzienniku aktywności przy użyciu bieżącego kontekstu kulturowego.
Po załadowaniu pakietu VSPackage (zwykle po wywołaniu polecenia lub otwarciu okna) tekst jest zapisywany w dzienniku aktywności.
Aby sprawdzić dziennik aktywności
Uruchom program Visual Studio z przełącznikiem wiersza polecenia /Log , aby zapisać ActivityLog.xml na dysku podczas sesji.
Po zamknięciu programu Visual Studio znajdź dziennik aktywności w podfolderze danych programu Visual Studio:
*%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml
Otwórz dziennik aktywności za pomocą dowolnego edytora tekstów. Oto typowy wpis:
Called for: Company.MyApp.MyAppPackage ...
Rozwiązywanie problemów z importowaniem/eksportowaniem w rozszerzeniach edytora: uzyskiwanie dostępu do dziennika błędów kompozycji MEF
Podczas pisania rozszerzenia opartego na edytorze mogą wystąpić problemy, jeśli spróbujesz zaimportować coś, co nie istnieje w bieżącej instalacji programu VS lub jeśli niepoprawnie utworzysz import lub eksport. Podstawowym sposobem znalezienia i rozwiązania tych problemów jest odwołanie się do dziennika błędów kompozycji zarządzanej struktury rozszerzalności (MEF) przechowywanego w lokalizacji %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err
. Aby dowiedzieć się więcej na temat korzystania z mef w swoich rozszerzeniach, zapoznaj się z tą dokumentacją.
Niezawodne programowanie
Ponieważ dziennik aktywności jest usługą, dziennik aktywności jest niedostępny w konstruktorze VSPackage.
Przed zapisaniem w nim dziennika aktywności należy uzyskać. Nie buforuj ani nie zapisuj dziennika aktywności do użycia w przyszłości.