Accueil Blog (en) Annonce de la sortie d’Acumatica Acuminator 3.0.0

Annonce de la sortie d’Acumatica Acuminator 3.0.0

Sergueï Nikomarov | Le 19 avril 2022

Annonce de la sortie d’Acumatica Acuminator 3.0.0

Acuminator prend désormais en charge Visual Studio 2022 en plus des deux versions précédentes de Visual Studio, 2017 et 2019. En outre, Acuminator prend désormais en charge les versions préliminaires de Visual Studio.

Vous pouvez le télécharger sur Visual Studio Marketplace. Si vous avez déjà installé la version bêta d’Acuminator 3.0.0, il est préférable de la supprimer avant d’installer la nouvelle version.

Acuminator 3.0.0 inclut de nouvelles améliorations et corrections de bogues dans l’analyse de code statique, dans la carte de code, ainsi que d’autres fonctionnalités d’Acuminator.

Voici les détails pour chaque zone.

Changements dans l’analyse de code statique

  • Le diagnostic PX1007 , qui vérifie la présence de commentaires XML pour l’API publique, a été retravaillé et ne vérifie désormais que les DAC et les extensions DAC. Ce diagnostic sera bientôt activé dans l’essai d’acuminator ATR-100.
  • Le diagnostic PX1008 , qui recherche les références capturées à l’instance de graphique dans les fermetures de délégués, valide désormais les délégués passés à la méthode PXLongOperation.StartOperation().
  • Le diagnostic PX1026 , qui interdit les traits de soulignement dans les noms des DAC et des champs DAC, autorise désormais les traits de soulignement dans les noms des extensions DAC.
  • Le diagnostic PX1088 a été supprimé car sa fonction est couverte par le diagnostic PX1008 .
  • Les refactorisations d’acuminateur n’ont pas fonctionné lorsque Visual Studio a été configuré pour effectuer une analyse de code statique dans un processus distinct.
  • L' PX1073 diagnostic, qui interdit de lancer une exception dans le gestionnaire d’événements de graphique RowPersisted, a été retravaillé et ne signale plus d’erreur si l’une des instructions suivantes est vraie :
    • Le gestionnaire d’événements de graphique RowPersisted est déclaré dans un graphique de traitement.
    • Le graphique contenant n’est pas un graphique de traitement et le type d’exception fait partie des types suivants ou en est dérivé :
      • PX. Data.PXRowPersistedException
      • PX. Data.PXLockViolationException
      • Exceptions .NET de l’espace de noms System : NotImplementedException, NotSupportedException, ArgumentException (y compris ses descendants ArgumentNullException et ArgumentOutOfRangeException)

Améliorations apportées à la carte du code

La carte du code a été améliorée des façons suivantes :

  • L’état et la disposition de la fenêtre de l’outil Code Map sont désormais automatiquement conservés par Visual Studio. La fenêtre Carte de code se comporte désormais de la même manière que les autres fenêtres d’outils Visual Studio telles que l’Explorateur de solutions. Cela signifie que la fenêtre Code Map est rouverte et restaurée à son état précédent au démarrage de Visual Studio si la fenêtre Code Map a été ouverte lors de la dernière fermeture de Visual Studio.
  • Différentes icônes sont maintenant affichées pour les DAC, les extensions DAC, les graphiques et les extensions de graphique. Voir les captures d’écran suivantes pour des exemples de ces icônes.
  • Chaque nœud DAC indique maintenant si le nœud représente une DAC ou une extension DAC comme indiqué dans la capture d’écran précédente.
  • Pour chaque graphique ou extension de graphique, les remplacements des membres de type virtuel sont désormais affichés sous le nouveau nœud Priorités de base . Les remplacements de la méthode Persist sont indiqués par une icône de disquette spéciale. Voir les captures d’écran suivantes pour un exemple de ce nœud.
  • L' Initialisation et activation node a été introduit. Il affiche les informations suivantes :
    • Instance de graphique et constructeurs statiques pour les graphiques et les extensions de graphique
    • Méthode IsActive pour une extension graphique et une extension DAC.

Voir les captures d’écran suivantes pour des exemples du nœud Initialisation et activation .

Désactivation des diagnostics localement supprimés

Acuminator fournit deux mécanismes de suppression différents pour supprimer les alertes diagnostiques dans un endroit particulier: un fichier de suppression global et une suppression locale avec un commentaire spécial.

Le mécanisme de suppression peut être désactivé dans les paramètres Acuminator dans Visual Studio en spécifiant False pour le paramètre suivant : Outils > Options > Acuminator > Analyse de code > Supprimer les diagnostics sélectionnés.

Avec ce mécanisme désactivé, vous pouvez voir toutes les erreurs supprimées dans le code hérité et effectuer une refactorisation.

Auparavant, vous pouviez désactiver la suppression uniquement des alertes de diagnostic globalement supprimées. Les alertes qui ont été supprimées localement via des commentaires de suppression n’ont pas pu être affichées même lorsque le mécanisme de suppression a été désactivé. Maintenant, les diagnostics d’acuminateur qui ont été supprimés localement peuvent également être affichés lorsque la suppression est désactivée. Ainsi, vous pouvez voir toutes les erreurs, y compris ceux qui ont été supprimés avec un commentaire dans l’éditeur de code ou dans la fenêtre de l’outil Liste d’erreurs . Pour plus d’informations sur la suppression diagnostique, voir Suppression diagnostique.

Remerciements

L’équipe de développement d’Acumatica Acuminator aimerait offrir notre gratitude et nos sincères remerciements à nos contributeurs open source: Angel Sanchez (@ShadowFiendZX) et Shawn Burt (@shawnburt). Nous vous sommes reconnaissants de votre contribution et espérons que vous continuerez à contribuer à Acuminator à l’avenir.

Auteur du blog

Sergey a rejoint Acumatica en 2017 et a commencé en tant que développeur d’applications dans l’équipe OEM, où il a fait beaucoup de développement Acumatica Framework - en plus de faire plusieurs personnalisations. Un exemple est une grande personnalisation pour le contrôle budgétaire automatisé pour Censof, un partenaire OEM. En 2019, il a rejoint l’équipe de développement de la plate-forme en tant que développeur de systèmes. Et plus récemment, Sergey est responsable de l’acuminator et de notre développement et maintenance RVT. Participant à un certain nombre de hackathons internes d’Acumatica, Sergey faisait partie de l’équipe gagnante - avec Vladimir Panchenko - qui a créé Acuminator. Lors d’un hackathon ultérieur, son équipe l’a étendu davantage en développant la carte de code avec d’autres améliorations à Acuminator.
Catégories : Développeurs

Recevez des mises à jour de blog dans votre boîte de réception.