2022.1 se centra en la calidad y trae muchas mejoras y correcciones de errores, concretamente para el desarrollo de Blazor y la compatibilidad con C#.
Prueba gratuita de 30 días disponible
Seguimos mejorando la compatibilidad con C# 10, en particular las instrucciones using globales. Hemos implementado dos nuevas refactorizaciones que también están disponibles como acciones contextuales.
Extract Global Using puede ayudarle a introducir el concepto de usos globales en su proyecto. Puede invocarlo en una directiva using
normal, y ReSharper le sugerirá que lo extraiga a un archivo GlobalUsings.cs
designado (si aún no existe tal archivo en su proyecto, se creará). El using
normal que ya no es necesario se eliminará de los archivos de su proyecto.
Si decide refactorizar un using
global en un using
normal, la refactorización Inline Global Using también puede ayudarle. Cuando se llama a un using
global, lo elimina del archivo GlobalUsings.cs
y añade la correspondiente declaración using
a los archivos de su proyecto donde sea necesario.
La funcionalidad using
global es compatible con Find Usages y el análisis de código para los métodos de extensión.
Hemos investigado el C# 11 por venir y hemos creado compatibilidad con los atributos genéricos.
[MemberNotNull]
y [MemberNotNullWhen]
ahora son compatibles con los proyectos que no utilizan tipos de referencias que aceptan valores null. Ahora la compatibilidad con Endpoints funciona para las API mínimas de ASP.NET Core 6 y el enrutamiento basado en convenciones. Incluye navegación, análisis del código y finalización de código.
Estas son algunas de las funcionalidades y correcciones más notables que hemos realizado para Razor y Blazor:
[EditorRequired]
de .NET 6. La inspección correspondiente y el arreglo rápido también están disponibles si intenta utilizar un componente de Blazor sin especificar los parámetros necesarios. .razor
con componentes Blazor. Ya no elimina todas las declaraciones @using
. Hemos reorganizado todos los elementos del menú Alt+Intro relacionados con Code Cleanup y Formatting. Format selection, Cleanup selection y Apply syntax style se han combinado en un elemento denominado Reformat and Cleanup para proporcionar un único punto de entrada.
Además de estos cambios, los ajustes de estilo de sintaxis están ahora disponibles en las acciones Configure code style y Autodetect code style settings. El panel Preview code style muestra también los cambios en el estilo de la sintaxis.
Ahora, el marco de trabajo de prueba de Unreal Engine es compatible. ReSharper C++ introduce las pruebas de unidad de Unreal Engine y añade los indicadores de acción correspondientes junto a cada prueba en el editor para ejecutar o depurar la prueba o todo el conjunto de pruebas. En la ventana Unit Test Sessions, puede revisar los resultados de las pruebas y volver a ejecutarlas todas, las fallidas o solo algunas.
Ahora, ReSharper C++ es mejor para gestionar las llamadas a constructores implícitos, lo que le permite encontrar usos y navegar al constructor llamado en más casos, entre los que se encuentran los siguientes:
make_unique/make_shared
) y específicas de Unreal (MakeShared/MakeUnique
). emplace
.static_cast
y expresiones de conversión de tipo C. ReSharper C++ 2022.1 también muestra una advertencia de sobrecarga cuando se llama a una función tipo emplace
con argumentos incorrectos.
Tras analizar el rendimiento de la compatibilidad de los generadores de fuentes, hemos decidido aumentar el retraso entre las solicitudes cuando se obtienen los documentos generados por las fuentes del compilador.
Así, los generadores de fuentes no se ejecutan antes que el compilador y se reduce la cantidad total de trabajo de la CPU. La ganancia exacta de rendimiento depende de si otras funcionalidades también activan los generadores, como la finalización de línea completa de Visual Studio.
Ya hemos solucionado unos cuantos problemas de rendimiento y sentado las bases para seguir trabajando. Aquí se incluye la gestión de instantáneas de rendimiento de nuestros clientes, sesiones internas de generación de perfiles y la recopilación de datos para poder implementar comprobaciones automáticas de las degradaciones de rendimiento en el futuro.
En cuanto al modo «fuera de proceso», el trabajo está en curso. Consulte la última actualización en nuestro sistema de seguimiento de incidencias.
Las herramientas de InspectCode pueden generar archivos de salida compatibles con Static Analysis Results Interchange Format (SARIF).
Ahora las herramientas de línea de comandos son compatibles con Alpine Linux.
System.Private.CoreLib
. Ahora la ruta de acceso a la documentación XML se muestra en el encabezado del archivo descompilado. [TypeForwardedTo]
). La acción Locate in Metadata también funciona para los tipos reenviados, las referencias a agrupaciones y módulos, y los recursos. Ahora dotTrace es compatible con eventos de SQL Server desde el proveedor Microsoft.Data.SqlClient
en Windows (.NET Core, .NET 5+), así como en macOS y Linux (.NET Core 3.0+, .NET 5+).
Ahora puede adjuntar el generador de perfiles a una aplicación que esté en ejecución arrastrando el icono especial a la ventana de la aplicación.
Ahora puede utilizar comentarios para excluir determinadas líneas o bloques de código del análisis de cobertura. Hay varias opciones disponibles para ello:
// dotcover disable
var i = 1;
var j = 10;
// dotcover enable
/* dotcover disable */ var i = 1; /* dotcover enable */
var i = 1; // dotCover disable this line
// dotcover disable next line
var j = 100;
Para que estas opciones funcionen, debe hacer referencia al paquete JetBrains.dotCover.MSBuild NuGet
. Se trata de una dependencia solo de desarrollo que no se incluirá como dependencia de tiempo de ejecución en su proyecto.
.sqlproj
en Visual Studio localizados. Prueba gratuita de 30 días disponible