Inicio Blog Anuncio del lanzamiento de Acumatica Acuminator 3.0.0

Anuncio del lanzamiento de Acumatica Acuminator 3.0.0

Sergey Nikomarov | 19 de abril de 2022

Anuncio del lanzamiento de Acumatica Acuminator 3.0.0

Acuminator ahora es compatible con Visual Studio 2022, además de las dos versiones anteriores de Visual Studio, 2017 y 2019. Además, Acuminator ahora es compatible con versiones preliminares de Visual Studio.

Puedes descargarlo en el Visual Studio Marketplace. Si has instalado previamente la versión beta de Acuminator 3.0.0, es mejor que la elimines antes de instalar la nueva versión.

Acuminator 3.0.0 incluye nuevas mejoras y correcciones de errores en el análisis estático de código, en el Mapa de Código, junto con otras características de Acuminator.

He aquí los detalles de cada zona.

Cambios en el análisis estático del código

  • El diagnóstico PX1007, que comprueba la presencia de comentarios XML para la API pública, se ha reelaborado y ahora sólo comprueba los DAC y las extensiones de DAC. Este diagnóstico se habilitará pronto en la prueba ATR-100 Acuminator.
  • El diagnóstico PX1008, que busca referencias capturadas a la instancia del gráfico en los cierres de los delegados, ahora valida los delegados pasados al método PXLongOperation.StartOperation().
  • El diagnóstico PX1026, que prohíbe los guiones bajos en los nombres de los DAC y los campos DAC, permite ahora los guiones bajos en los nombres de las extensiones DAC.
  • Se ha eliminado el diagnóstico PX1088 porque su función está cubierta por el diagnóstico PX1008.
  • Las refactorizaciones de Acuminator no funcionaban cuando Visual Studio estaba configurado para realizar el análisis estático de código en un proceso independiente.
  • En PX1073 diagnóstico, que prohíbe lanzar una excepción en el manejador de eventos del gráfico RowPersisted, ha sido reelaborado y ahora no informa de un error si una de las siguientes afirmaciones es verdadera:
    • El manejador de eventos del gráfico RowPersisted se declara en un gráfico de procesamiento.
    • El grafo contenedor no es un grafo de tratamiento y el tipo de excepción se encuentra entre los siguientes tipos o se deriva de ellos:
      • PX.Data.PXRowPersistedException
      • PX.Data.PXLockViolationException
      • Excepciones .NET del espacio de nombres System: NotImplementedException, NotSupportedException, ArgumentException (incluyendo sus descendientes ArgumentNullException y ArgumentOutOfRangeException).

Mejoras en el mapa de códigos

El Mapa de Códigos se ha mejorado en los siguientes aspectos:

  • Ahora Visual Studio mantiene automáticamente el estado y el diseño de la ventana de la herramienta Mapa de código. La ventana del Mapa de código se comporta ahora de forma similar a otras ventanas de herramientas de Visual Studio, como el Explorador de soluciones. Esto significa que la ventana del Mapa de código se vuelve a abrir y se restaura a su estado anterior al iniciar Visual Studio si la ventana del Mapa de código se abrió en el último cierre de Visual Studio.
  • Ahora se muestran distintos iconos para los DAC, las extensiones de DAC, los gráficos y las extensiones de gráficos. Consulte las siguientes capturas de pantalla para ver ejemplos de estos iconos.
  • Cada nodo DAC indica ahora si el nodo representa un DAC o una extensión DAC como se muestra en la captura de pantalla anterior.
  • Para cada gráfico o extensión de gráfico, las modificaciones de los miembros del tipo virtual se muestran ahora en el nuevo nodo Modificaciones base. Las modificaciones del método Persist se indican con un icono de disquete especial. Consulte las siguientes capturas de pantalla para ver un ejemplo de este nodo.
  • En Inicialización y activación Se ha introducido el nodo Muestra la siguiente información:
    • Instancias de grafos y constructores estáticos para grafos y extensiones de grafos
    • El método IsActive para una extensión gráfica y una extensión DAC.

Consulte las siguientes capturas de pantalla para ver ejemplos del nodo de Inicialización y Activación.

Desactivación de diagnósticos suprimidos localmente

Acuminator proporciona dos mecanismos de supresión diferentes para suprimir las alertas de diagnóstico en un lugar concreto: un archivo de supresión global y una supresión local con un comentario especial.

El mecanismo de supresión puede desactivarse en la configuración de Acuminator en Visual Studio especificando Falso para la siguiente configuración: Herramientas > Opciones > Acuminator > Análisis de código > Suprimir diagnósticos seleccionados.

Con este mecanismo desactivado, puede ver todos los errores suprimidos en el código heredado y realizar la refactorización.

Anteriormente, sólo se podía desactivar la supresión de las alertas de diagnóstico suprimidas globalmente. Las alertas que se habían suprimido localmente mediante comentarios de supresión no podían mostrarse aunque el mecanismo de supresión estuviera desactivado. Ahora los diagnósticos de Acuminator que han sido suprimidos localmente también pueden mostrarse cuando la supresión está desactivada. Así, puede ver todos los errores, incluidos los que se suprimieron con un comentario en el editor de código o en la ventana de la herramienta Lista de errores. Para más detalles sobre la supresión de diagnósticos, consulte Supresión de diagnósticos.

Agradecimientos

Al equipo de desarrollo de Acumatica Acuminator le gustaría ofrecer nuestra gratitud y sincero agradecimiento a nuestros colaboradores de código abierto: Ángel Sánchez (@ShadowFiendZX) y Shawn Burt (@shawnburt). Agradecemos su aportación y esperamos que sigan contribuyendo a Acuminator en el futuro.

Autor del blog

Sergey se unió a Acumatica en 2017 y comenzó como desarrollador de aplicaciones en el equipo de OEM, donde realizó gran parte del desarrollo del marco de Acumatica, además de varias personalizaciones. Un ejemplo es una gran personalización para el control presupuestario automatizado para Censof, un socio OEM. En 2019, se unió al equipo de Desarrollo de Plataformas como desarrollador de sistemas. Y más recientemente, Sergey es responsable de Acuminator y nuestro desarrollo y mantenimiento de RVT. Participante en varios hackathons internos de Acumatica, Sergey formó parte del equipo ganador -junto con Vladimir Panchenko- que creó Acuminator. En un hackathon posterior, su equipo lo amplió aún más al desarrollar el Mapa de código con algunas otras mejoras para Acuminator.
Categorías: Desarrolladores

Reciba las actualizaciones del blog en su bandeja de entrada.