Utiliser le journal d’activité
Les VSPackages peuvent écrire des messages dans le journal d’activité. Cette fonctionnalité est particulièrement utile pour le débogage de VSPackages dans les environnements de vente au détail.
Conseil
Le journal d’activité est toujours activé. Visual Studio conserve une mémoire tampon propagée des 100 dernières entrées ainsi que les 10 premières entrées, qui ont des informations de configuration générales.
Pour écrire une entrée dans le journal d’activité
Insérez ce code dans la méthode Initialize ou dans une autre méthode, à l’exception du constructeur 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()));
Ce code obtient le service SVsActivityLog et le convertit en interface IVsActivityLog . LogEntry écrit une entrée d’information dans le journal d’activité à l’aide du contexte culturel actuel.
Lorsque VSPackage est chargé (généralement lorsqu’une commande est appelée ou qu’une fenêtre est ouverte), le texte est écrit dans le journal d’activité.
Pour examiner le journal d’activité
Exécutez Visual Studio avec le commutateur de ligne de commande /Log pour écrire des ActivityLog.xml sur disque pendant votre session.
Après avoir fermé Visual Studio, recherchez le journal d’activité dans le sous-dossier pour les données Visual Studio :
*%AppData%\Microsoft\VisualStudio\{version}\ActivityLog.xml
Ouvrez le journal d’activité avec n’importe quel éditeur de texte. Voici une entrée classique :
Called for: Company.MyApp.MyAppPackage ...
Résolution des problèmes d’importation/exportation dans les extensions de l’éditeur : accéder au journal des erreurs de composition MEF
Lors de l’écriture d’une extension basée sur l’éditeur, vous pouvez rencontrer des problèmes si vous essayez d’importer quelque chose qui n’existe pas dans l’installation actuelle de VS, ou si vous créez incorrectement votre importation ou exportation. La principale façon de trouver et de résoudre ces problèmes consiste à référencer le journal des erreurs de composition MEF (Managed Extensibility Framework), stocké sur %localappdata%\Microsoft\VisualStudio{version}\ComponentModelCache\Microsoft.VisualStudio.Default.err
. Pour en savoir plus sur l’utilisation de MEF dans vos extensions, case activée cette documentation.
Programmation fiable
Étant donné que le journal d’activité est un service, le journal d’activité n’est pas disponible dans le constructeur VSPackage.
Vous devez obtenir le journal d’activité juste avant d’y écrire. Ne ayez pas à mettre en cache ni enregistrer le journal d’activité pour une utilisation ultérieure.