La version 2022.1 est dédiée à la qualité, aux améliorations et aux correctifs de bugs, notamment pour le développement avec Blazor et la prise en charge de C#.
Essai gratuit sur 30 jours disponible
We continue to improve support for C# 10, particularly global usings. Nous avons implémenté deux nouvelles refactorisations qui sont également disponibles en tant qu'actions contextuelles.
Extract Global Using peut vous aider à introduire le concept de directives using globales dans votre projet. Vous pouvez l'appeler sur une directive using
standard et ReSharper vous proposera de l'extraire vers un fichier GlobalUsings.cs
désigné (si ce fichier n'existe pas encore dans votre projet, il sera créé). Toute directive using
ordinaire superflue sera ensuite supprimée des fichiers de votre projet.
Si vous décidez de refactoriser une directive using
globale en directive using
ordinaire, la refactorisation Inline Global Using peut là aussi vous aider. Si vous l'appelez sur une directive using
globale, elle la supprime du fichier GlobalUsings.cs
et ajoute l'instruction using
correspondante aux fichiers de votre projet, là où elle est nécessaire.
La fonctionnalité using globale est prise en charge dans Find Usages et dans l'analyse de code pour les méthodes d'extension.
We’ve looked into the approaching C# 11 and supported generic attributes.
[MemberNotNull]
et [MemberNotNullWhen]
sont désormais prises en charge dans les projets qui n'utilisent pas de types de référence nullables. Notre prise en charge des points de terminaison fonctionne désormais pour les API minimales d'ASP. NET Core 6 et le routage conventionnel. Elle inclut la navigation, l'analyse du code et la saisie semi-automatique.
Voici quelques-unes des fonctionnalités et des corrections les plus notables concernant Razor et Blazor :
[EditorRequired]
de .NET 6. L'inspection et le correctif rapide correspondants sont également disponibles si vous essayez d'utiliser un composant Blazor sans spécifier les paramètres requis. .razor
avec des composants Blazor. Il ne supprime donc plus les déclarations @using
. Nous avons réorganisé tous les éléments du menu Alt+Entrée liés à Code Cleanup et Formatting. Format selection, Cleanup selection et Apply syntax style ont été combinés en un seul élément Reformat and Cleanup afin de fournir un point d'entrée unique.
En plus de ces changements, les paramètres du style syntaxique sont maintenant disponibles dans les actions Configure code style et Autodetect code style settings. Le volet Preview code style affiche également les changements de style de la syntaxe.
The Unreal Engine testing framework is now supported. ReSharper C++ introduit la prise en charge des tests unitaires d'Unreal Engine et ajoute les indicateurs d'action correspondants près de chaque test dans l'éditeur pour exécuter ou déboguer le test ou l'ensemble de la suite du test. La fenêtre Unit Test Sessions permet de consulter les résultats des tests et d'exécuter à nouveau les tests qui ont échoué, tous les tests ou des tests spécifiques.
ReSharper C++ gère mieux les appels implicites de constructeurs, ce qui vous permet de trouver des utilisations et d'accéder au constructeur appelé dans davantage de cas, notamment :
make_unique/make_shared
) et spécifiques à Unreal (MakeShared/MakeUnique
). emplace
.static_cast
et expressions de conversion de type C. ReSharper C++ 2022.1 affiche également un avertissement de surcharge si une fonction de type emplace
est appelée avec des arguments incorrects.
Après avoir analysé les performances de la prise en charge des générateurs de code source, nous avons décidé d'espacer les requêtes lors de l'extraction des documents générés par la source sur le compilateur.
Cela évite que les générateurs de code source s'exécutent avant le compilateur et réduit la charge de travail du processeur. Le gain de performances réellement obtenu peut varier, notamment si d'autres fonctionnalités déclenchent également les générateurs, tels que la saisie semi-automatique de ligne de Visual Studio.
We’ve fixed a number of performance issues already and laid the groundwork for more. Cela inclut le traitement des instantanés de performances de nos clients, les sessions de profilage interne et la collecte de données pour mettre en place ultérieurement des contrôles permettant d'être alerté automatiquement en cas de dégradation des performances.
Nous travaillons également sur le mode « hors processus ». Please refer to the newest update in our issue tracker.
Les outils InspectCode peuvent générer des fichiers de sortie compatibles avec le format SARIF (Static Analysis Results Interchange Format).
Les outils de ligne de commande prennent désormais en charge Alpine Linux.
System.Private.CoreLib
. Le chemin de la documentation XML s'affiche à présent dans l'en-tête du fichier décompilé. [TypeForwardedTo]
). L'action Locate in Metadata fonctionne également pour les types transférés, les références d'assemblies et de modules, et les ressources. dotTrace prend désormais en charge les événements SQL Server du fournisseur Microsoft.Data.SqlClient
sous Windows (.NET Core, .NET 5+), ainsi que sous macOS et Linux (.NET Core 3.0+, .NET 5+).
Il est désormais possible d'attacher le profileur à une application en cours d'exécution en faisant simplement glisser l'icône spéciale sur la fenêtre d'application.
Il est désormais possible d'utiliser les commentaires pour exclure certaines lignes ou certains blocs de code de l'analyse de la couverture. Plusieurs options sont disponibles pour cela :
// 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;
Pour que l'une de ces options fonctionne, vous devez référencer le package JetBrains.dotCover.MSBuild NuGet
. Il s'agit d'une dépendance réservée au développement qui ne sera pas incluse en tant que dépendance d'exécution dans votre projet.
.sqlproj
des versions localisées de Visual Studios. Essai gratuit sur 30 jours disponible