Nouveautés de ReSharper 2023.3

ReSharper 2022.3 prend en charge les dernières fonctionnalités de C# 12. Il inclut également de tout nouveaux diagrammes de relations entre entités et des inspections pour les problèmes liés à Entity. Cette mise à jour apporte plusieurs améliorations majeures aux performances, notamment une analyse optimisée du code en arrière-plan et la possibilité de contrôler la quantité de ressources allouées à l'analyse du code. ReSharper 2023.3 bénéficie également d'une mise à jour majeure de l'AI Assistant.

Télécharger

Essai gratuit sur 30 jours disponible

L'AI Assistant est sorti de la phase de préversion Disponibilité générale

L'AI Assistant est maintenant accessible à tous et apporte de nombreuses nouveautés et fonctionnalités améliorées pour rendre votre travail encore plus productif. La dernière série d'améliorations pour ReSharper comprend les points suivants :

  • Chat contextuel avec l'IA
  • Meilleure prise en compte du projet pour les AI Actions
  • Saisie semi-automatique multiligne du code avec l'aide de l'IA
  • Génération de tests unitaires
  • Génération de documentation XML
  • Possibilité de créer une bibliothèque de prompts personnalisés

Utilisez l'AI Assistant dans ReSharper en tant que fonctionnalité supplémentaire en vous abonnant au service JetBrains AI.

Regardez la démo

Prise en charge de C#

Avec sa dernière version, ReSharper étend la liste des fonctionnalités C# 12 prises en charge pour englober les constructeurs principaux, les directives d'alias pour référencer n'importe quel type, les expressions des collections et les intercepteurs, entre autres.

Consultez cet article de blog pour explorer plus avant les nouveautés de Rider et ReSharper 2023.3 concernant la prise en charge de C#.

Regardez la démo

Performances

ReSharper 2023.3 peut désormais reconnaître et faciliter davantage de scénarios dans lesquels les services d'analyse de code peuvent fonctionner de manière incrémentielle lorsqu'ils sont interrompus par la saisie. Cette amélioration est particulièrement appréciable si vous traitez des fichiers volumineux.

Intégration remaniée entre les actions rapides de ReSharper et Visual Studio

La dernière mise à jour vous permet également de contrôler la quantité de ressources allouées à l'analyse du code à l'échelle de la solution. Vous pouvez maintenant choisir entre les modes d'utilisation des ressources Low, Moderate et High.

En dépit de son nom, le mode High est conçu pour ne pas gêner la saisie dans l'éditeur et il ne dégrade pas la réactivité de l'IDE. Il augmente l'utilisation du processeur progressivement, et uniquement lorsque l'analyse du code est interrompue par la saisie de code, afin de maintenir une expérience de frappe fluide, tandis que l'analyse à l'échelle de la solution traite le code source en arrière-plan.

Autres améliorations des performances

La recherche des occurrences de types et de constructeurs est désormais plus rapide pour les solutions comportant de nombreuses créations d'objets à typage implicite, par exemple UnType _field = new(). Cette amélioration entraîne également un gain de vitesse pour la refactorisation.

Nous avons également résolu certains problèmes liés au traitement des langages injectés, qui entraînaient une utilisation accrue du processeur.

Interface/Expérience utilisateur

Expérience utilisateur repensée pour la refactorisation Extract local function

Expérience utilisateur repensée pour la refactorisation Extract local function

Nous avons repensé l'expérience utilisateur pour la refactorisation Extract local function. Dans le passé, il était difficile de sélectionner un emplacement pour la nouvelle fonction dans la liste des options disponibles, et ce qui serait affecté par ce choix n'était pas clair.

Avec l'expérience utilisateur modifiée, vous verrez désormais un aperçu de la signature de la nouvelle fonction directement dans l'éditeur de code. Cela permet de comprendre facilement où elle sera insérée et comment votre choix impactera la fonction introduite. Vous pouvez également voir quelles variables seront transformées en paramètres plutôt qu'en fermetures et quelles autres fonctions seront déplacées pour autoriser les appels au nouvel emplacement.

Intégration remaniée entre les actions rapides de ReSharper et Visual Studio

Intégration remaniée entre les actions rapides de ReSharper et Visual Studio

Les actions rapides de Visual Studio et de ReSharper se complètent bien lorsqu'elles sont utilisées avec discernement. ReSharper 2023.3 vous permet d'exploiter facilement la puissance des deux systèmes. Vous pouvez désormais modifier les paramètres pour utiliser exclusivement les actions rapides de ReSharper, afficher des icônes de suggestions pour les deux ou appeler toutes les actions rapides à partir du même point : le menu de l'ampoule dans ReSharper.

Outils mnémotechniques pour Copy Code Reference

Outils mnémotechniques pour Copy Code Reference

ReSharper 2023.3 inaugure des clés d'accès pour l'action Copy Code Reference. Chaque type de référence de code dans le menu contextuel peut désormais être sélectionné d'une seule touche.

Prise en charge de C++

Dans ReSharper C++ 2023.3, travailler avec du code inactif est devenu beaucoup plus facile. La saisie semi-automatique du code suggère désormais les symboles de la portée globale dans les blocs de code actuellement inactifs au sein des branches du préprocesseur conditionnel. Find Usages a également reçu une mise à jour et affiche désormais les utilisations possibles dans le code inactif et les corps de macro dans des sections dédiées des résultats.

En savoir plus sur les mises à jour de C++ : Nouveautés de ReSharper C++ 2023.3

Mise en forme du code

Nouveau moteur de mise en forme du code pour Razor

Nouveau moteur de mise en forme du code pour Razor

ReSharper 2023.3 introduit un nouveau moteur de mise en forme pour Razor. Il est compatible avec l'outil actuel de mise en forme de C# dans ReSharper, et prend donc en charge les constructs C# introduites ces dernières années et la plupart des nouvelles options de mise en forme de ReSharper pour C#. Le nouvel outil de mise en forme fonctionne également plus rapidement et devrait rencontrer moins de problèmes. Toutefois, il modifie la mise en forme par défaut de certains codes. Nous avons donc introduit une option permettant de revenir à l'ancien moteur de mise en forme pour Razor. Vous la trouverez dans les Options de ReSharper sous Code Editing | Razor | Code Style.

Entity Framework

Inspections ciblant les problèmes liés à Entity Framework

ReSharper 2023.3 apporte quelques nouvelles inspections ciblant l'utilisation des méthodes dans le code associé au framework Entity qui peuvent lever des exceptions lors de l'exécution.

Regardez la démo

Voici les deux cas couverts par ces nouvelles inspections :

  1. Méthodes qui produisent des exceptions lorsqu'elles sont appelées dans un contexte de base de données sans être convertibles en SQL dans Entity Framework ou Entity Framework Core.
  2. Méthodes qui lèvent des exceptions lorsqu'elles sont appelées en dehors du contexte d'une base de données alors qu'elles sont implémentées exclusivement en tant que fonctions de base de données.
Expérience utilisateur repensée pour la refactorisation Extract local function

Diagrammes de relations entre les entités

Cette version inaugure les diagrammes de relations entre les entités (ERD). Dans ReSharper, les ERD fournissent une représentation graphique du modèle de base de données, des relations entre les entités, ainsi que des informations tirées de l'analyse du modèle de base de données.

Les analyses spécifiques à Entity Framework dans ReSharper 2023.3 inspectent votre code à la recherche de problèmes potentiels dans le modèle EF, par exemple une longueur illimitée des propriétés de chaîne ou des boucles de dépendance. Si vous appelez ensuite un menu contextuel sur une inspection de ce type et sélectionnez Show Entity Relationship Diagram, vous pourrez enquêter visuellement sur le problème.

Consultez cet article de blog pour en savoir plus sur la visualisation des relations du framework Entity et les nouvelles inspections.

Test unitaire

Génération de tests par IA
Bêta

Notre version précédente avait introduit la possibilité de créer facilement des tests unitaires. La dernière mise à jour de l'AI Assistant dans ReSharper 2023.3 vous offre la possibilité de générer le code à l'intérieur des tests unitaires, en exploitant la puissance des LLM.

Vérification orthographique et grammaticale

Nouveau moteur de mise en forme du code pour Razor

JetBrains Grazie est devenu le nouvel outil intégré de vérification de grammaire et d'orthographe dans ReSharper. Grazie prend en charge plus de 20 langues et détecte les erreurs linguistiques au sein des langages de programmation pris en charge par ReSharper (C#, C++, VB.NET), des langages de balisage (HTML, XML, XAML) et des commentaires. Pour ajouter d'autres langues à Grazie, allez dans Options | Grammar and Spelling | General dans ReSharper.

Linter Qodana Community pour .NET

Pendant longtemps, si vous souhaitiez exécuter l'analyse de code de ReSharper en dehors d'un IDE sur votre serveur de CI/CD, vous n'aviez qu'une seule possibilité : l'outil InspectCode dans les outils de ligne de commande ReSharper. Récemment, Qodana a fait son arrivée dans notre gamme d'outils .NET et nous avons lancé le programme d'accès anticipé du linter Qodana Community pour .NET.

Bien que basé sur le même moteur d'analyse de code statique que ReSharper, Qodana offre plusieurs avantages supplémentaires :

  • Les utilisateurs peuvent inspecter les résultats d'analyse avec notre diagramme signature en rayons de soleil dans Qodana Cloud pour jauger rapidement la santé globale de leur projet.
  • Utilisez la référence pour gérer la dette technique.

De plus, les linters Qodana payants pour .NET permettront d'exécuter des audits de licences tiers, d'analyser la couverture du code et de détecter les dépendances vulnérables.

Nous n'abandonnerons pas les outils de ligne de commande ReSharper, mais à partir de maintenant, le linter Qodana Community pour .NET sera le moyen privilégié pour exécuter l'analyse ReSharper en dehors de l'IDE.

dotMemory

Version autonome de dotMemory sous Linux et macOS dotUltimate Bêta

Vous pouvez maintenant exécuter la version indépendante de dotMemory sous les systèmes d'exploitation Linux et macOS.

Décompilateur

Comparaison d'assemblies

La fonctionnalité Assembly diff introduite avec la version précédente est désormais capable de comparer des paquets, dossiers et fichiers .zip NuGet.

Comparaison d'assemblies

La possibilité de comparer des assemblies se dote d'options de comparaison supplémentaires. Vous pouvez choisir entre plusieurs modes de comparaison (Show all, Show only differences, Show only signature differences, ou Show only public API differences). Vous pouvez en outre spécifier si vous souhaitez que le Diff ignore les différences dans l'ordre des membres/attributs, ainsi que les différences dans les annotations des types de référence nullables.

Assembly explorer (Explorateur d'assemblies)

Mises à jour de l'Assembly Explorer

  • Lorsque vous explorez des paquets NuGet dans l'Assembly Explorer, vous pouvez désormais afficher tous les fichiers et dossiers contenus dans ces paquets NuGet.
  • Les nœuds de ressources Win32, notamment leur taille et leur type (si ceux-ci peuvent être déterminés), peuvent maintenant être visualisés dans l'arborescence de présentation des nœuds et dans le volet Properties.

Autres mises à jour:

  • Décoder les ressources de chaînes Win32 dans les tables est maintenant possible.
  • ReSharper affiche maintenant la taille des fichiers ouverts dans le volet Properties pour un assemblage/non-assemblage, pour les fichiers à l'intérieur de bundles, les archives, les paquets NuGet, les assemblages comparés et les ressources Win32.
  • La validation de la signature du code d'authentification de l'assemblage est désormais disponible.
  • Les directives explicites #nullable disable s'affichent dans les sources décompilées.

Autres améliorations

Nouvelles inspections pour les applications ciblant le framework ASP.NET Core

Nouvelles inspections pour les applications ciblant le framework ASP.NET Core

Dynamic Program Analysis a reçu trois nouvelles inspections pour les applications ciblant le framework ASP.NET Core. Ces inspections vous alertent des problèmes de performances potentiels du backend qui pourraient nuire à la réactivité de votre application.

En savoir plus

Nouvelles inspections permettant d'identifier les utilisations d'API vulnérables

Nouvelles inspections permettant d'identifier les utilisations d'API vulnérables Sécurité

Rider 2023.3 apporte une nouvelle fonctionnalité d'inspection de sécurité conçue pour renforcer la visibilité des vulnérabilités publiées et en faciliter la compréhension.

Les nouvelles inspections identifient les paquets NuGet vulnérables dans votre projet et mettent en évidence les situations où des méthodes vulnérables de ces bibliothèques sont utilisées dans votre code. Si une vulnérabilité est détectée, le système met en évidence le code problématique et propose des actions rapides pour y remédier. Ces actions incluent la recommandation d'une mise à jour vers une version plus récente du paquet et des informations détaillées sur les vulnérabilités détectées.

Télécharger

Essai gratuit sur 30 jours disponible