Accueil Blog Annonce de la sortie d'Acumatica Acuminator 3.0.0

Annonce de la sortie d'Acumatica Acuminator 3.0.0

Sergey Nikomarov | 19 avril 2022

Annonce de la sortie d'Acumatica Acuminator 3.0.0

Acuminator supporte désormais Visual Studio 2022 en plus des deux versions précédentes de Visual Studio, 2017 et 2019. De plus, Acuminator supporte désormais les versions preview de Visual Studio.

Vous pouvez le télécharger sur le Visual Studio Marketplace. Si vous avez déjà installé la version beta 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 des corrections de bugs dans l'analyse statique du code, dans la carte du code, ainsi que dans d'autres fonctionnalités d'Acuminator.

Voici les détails pour chaque zone.

Changements dans l'analyse statique du code

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

Améliorations de la carte du code

La carte des codes a été améliorée de la manière suivante :

  • 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 Code Map se comporte désormais de la même manière que les autres fenêtres d'outils de Visual Studio, comme l'explorateur de solutions. Cela signifie que la fenêtre Code Map est rouverte et restaurée dans 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 désormais affichées pour les CED, les extensions de CED, les graphes et les extensions de graphes. Les captures d'écran suivantes présentent des exemples de ces icônes.
  • Chaque nœud DAC indique désormais s'il représente un DAC ou une extension de DAC, comme le montre la capture d'écran précédente.
  • Pour chaque graphe ou extension de graphe, les dérogations aux membres des types virtuels sont désormais affichées sous le nouveau nœud Base Overrides. Les dérogations de la méthode Persist sont indiquées par une icône de disquette spéciale. Voir les captures d'écran suivantes pour un exemple de ce nœud.
  • Les Initialisation et activation a été introduit. Il affiche les informations suivantes :
    • Instances de graphes et constructeurs statiques pour les graphes et les extensions de graphes
    • La méthode IsActive pour une extension graphique et une extension DAC.

Voir les captures d'écran suivantes pour des exemples de nœuds d'initialisation et d'activation.

Désactivation des diagnostics supprimés localement

Acuminator propose deux mécanismes de suppression différents pour supprimer les alertes de diagnostic à 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 d'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.

Si ce mécanisme est désactivé, vous pouvez voir toutes les erreurs supprimées dans le code hérité et procéder à un remaniement.

Auparavant, vous pouviez désactiver la suppression des seules alertes de diagnostic supprimées globalement. Les alertes qui ont été supprimées localement via les commentaires de suppression ne pouvaient pas être affichées, même lorsque le mécanisme de suppression était désactivé. Désormais, les diagnostics Acuminator 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 celles qui ont été supprimées par un commentaire dans l'éditeur de code ou dans la fenêtre de l'outil Liste d'erreurs. Pour plus de détails sur la suppression des diagnostics, voir Suppression des diagnostics.

Remerciements

L'équipe de développement d'Acumatica Acuminator tient à exprimer sa gratitude et ses sincères remerciements à nos contributeurs open source : Angel Sanchez (@ShadowFiendZX) et Shawn Burt (@shawnburt). Nous vous sommes reconnaissants pour 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 plateforme en tant que développeur de systèmes. Et plus récemment, Sergey est responsable d'Acuminator et de notre développement et maintenance RVT. Participant à un certain nombre de hackathons internes d'Acumatica, Sergey a fait partie de l'équipe gagnante - avec Vladimir Panchenko - qui a créé Acuminator. Lors d'un hackathon ultérieur, son équipe a poursuivi le développement de la carte de code ainsi que d'autres améliorations d'Acuminator.
Catégories : Développeurs

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