ReSharper Ultimate 2019.3 presenta una nueva gestión de la localización y consejos de nombre de tipo, y ofrece incluso una mayor compatibilidad con C# 8, C++ 20 y Unreal Engine. Se ha mejorado la navegación, los estilos de código y la pruebas de unidades, y las Herramientas de línea de comando para ReSharper y dotTrace ahora funcionan en Linux y macOS.
Prueba gratuita de 30 días disponible
El nuevo Gestor de localizaciones le ayuda a trabajar de un modo más eficiente con numerosos archivos .resx en su solución. Muestra todo lo que tiene en sus archivos .resx en una sola retícula, para que pueda observar el estado actual de la localización de la aplicación o sitio web y buscar rápidamente cualquier valor de recurso que falte en un idioma.
Puede:
Puede ver el Gestor de localizaciones en ReSharper | Windows o en el menú contextual de Solution Explorer.
Para obtener más información, consulte Localization Becomes Easier with the Localization Manager.
La nueva versión de ReSharper gestiona C# 8 incluso mejor. Ahora incluye:
notnull
. que aceptan valores null
en un archivo, proyecto o todos los proyectos en una solución.EnumeratorCancellation
a los parámetros CancellationToken
de los iteradores async
.Además, la inspección de código “Type or type member is never used” se ha dividido en dos opciones independientes, una para tipos (“Type is never used”) y otra para miembros de tipo (“Type member is never used”).
La acción Generate sabe más de C# 8 y también le ayuda a aprender con:
Nullability
se tiene en cuenta al generar miembros/comparadores de igualdad/relacionales.Además, hay una nueva opción para utilizar System.HashCode
para implementar GetHashCode
al generar miembros de igualdad o comparadores de igualdad para C# y VB.NET, lo que le permitirá obtener un código más limpio.
En esta versión, hemos implementado una petición más muy esperada. La configuración de nomenclatura C# ahora permite la lectura y la exportación a EditorConfig.
Además de este gran cambio, también hay varios cambios más pequeños que le ofrecen más control sobre el estilo de su código:
var
en lugar de tipos explícitos solo cuando el tipo de expresión de inicializador es evidente/aparente, ReSharper ahora puede detectar los casos más “evidentes”. También hay un modo de “compatibilidad” que replica el comportamiento de Roslyn.&&
o ||
tiene precedencia, esta opción le ayudará a aclararlo con paréntesis.La gente nos preguntaba a menudo si sería posible ejecutar las Herramientas de línea de comandos ReSharper en una Integración continua alojada en Linux. Durante mucho tiempo, nuestra respuesta era: “No, no se puede hacer.” Sin embargo, hemos trabajado duro para quitar todas las partes específicas de Windows para poder trasladar todo al tiempo de ejecución Mono para Linux y macOS. No se preocupe, porque sigue utilizando .NET Framework en Windows.
¡Nos complace anunciar que las Herramientas de línea de comandos de ReSharper llegan a Linux y macOS! Ya nada le impide utilizar el potente análisis del código de ReSharper en sistemas operativos que no sean Windows.
Esperamos que le gusten los consejos sobre nombres de parámetros y anotaciones dentro del código que hemos introducido en ReSharper 2019.1. En esta versión, hemos ido más lejos y podemos ofrecerle consejos sobre nombres de tipo. Están disponibles para:
La mayoría de nosotros a veces necesitamos saber dónde se utiliza una referencia en concreto dentro de nuestro código. Durante mucho tiempo, era posible ejecutar la acción “Find dependent code” en una referencia para encontrar todos los lugares en los que aparecían tipos o miembros de tipo de dicha referencia. Sin embargo, siempre ha habido límites.
A partir de la versión 2019.3, hemos eliminado un par de ellos:
Las ventanas de herramientas Unit Testing ya gozan de excelente salud y cubren casi todo lo que se espera de ellas. Sin embargo, creemos que podríamos añadir más modos de personalizar su vista de la lista de pruebas de unidades, y eso es lo que hemos hecho.
Se ha rediseñado por completo el resaltado de identificadores. Hemos añadido más ajustes de colores para una mayor precisión en el resaltado de código (disponible en Tools | Options | Fonts and Colors
). Los nuevos ajustes de colores incluyen:
C++20 está repleto de funcionalidades y se autorizará oficialmente el año que viene para ofrecer a los desarrolladores de C++ muchas y esperadas novedades. ReSharper C++ 2019.3 ya es compatible con muchas de esas funcionalidades, y las aumenta con análisis e información adicionales.
En primer lugar, ReSharper C++ ahora es consciente de que los agregados pueden iniciarse desde una lista de valores con paréntesis, y de que en algunos casos debe realizarse ADL extra con plantillas de función.
No solo Concepts son compatibles con el analizador de ReSharper C++, sino que la refactorización Rename y Find Usages también están disponibles. Incluso mejor, el análisis del código le puede mostrar más información sobre los errores relacionados con Concepts. Por ejemplo, si la resolución de sobrecarga falla porque un requisito de Concept no se ha cumplido, verá toda la información en una descripción emergente. A propósito, en ReSharper 2019.3 también hemos añadido color a la descripción emergente que muestra la información sobre los fallos de resolución de sobrecarga.
Hemos empezado una serie de publicaciones en el blog sobre C++20 y ReSharper C++, en las que puede obtener más información sobre las funcionalidades del lenguaje y su adopción en ReSharper C++.
Cuando ReSharper C++ detecta que está desarrollando un proyecto con Unreal Engine, ajusta su comportamiento para que sea más específico para UE4.
La plantilla de postfix “new” para las UCLASS
se amplía a una llamada a función de factory adecuada (que registrará el objeto creado en el recolector de basura). Las plantillas activas con los nombres correspondientes ahora están disponibles para ayudarle a generar rápidamente USTRUCT/UCLASS/UENUM/UENUMCLASS
.
Los punteros inteligentes de Unreal Engine (TSharedPtr, TSharedRef, TWeakPtr, TUniquePtr
) ahora se gestionan en ReSharper C++ de manera similar a std::shared_ptr/std::unique_ptr
. Esto significa que funcionalidades como Parameter Info, el análisis del código y la finalización de código postfix funcionan con los punteros inteligentes.
Por último, hay algunas mejoras en el rendimiento para los proyectos UE4. Por ejemplo, hemos solucionado un bloqueo que ocurría después de "Refresh Visual Studio Project" en el editor de UE4.
Vea las Novedades de ReSharper C++.
El perfilador de línea de comando por fin llega a macOS y Linux. dotTrace.sh
tiene la misma funcionalidad que su versión de Windows, y se distribuye como archivo .tar.gz y como paquete NuGet.
dotCover 2019.3 recibe varias mejoras:
Prueba gratuita de 30 días disponible