AI Assistant sort de la phase de Preview Ouverture au grand public
AI Assistant est maintenant accessible à tous. Il apporte de nombreuses nouveautés et améliorations de fonctionnalités pour gagner encore en productivité. 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.
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.
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.
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'EDI. 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.
JetBrains a é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
JetBrains a 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
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
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.
Formatage du code
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. JetBrains a 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.
Voici les deux cas couverts par ces nouvelles inspections :
- 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.
- 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.
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.
Test unitaire
Génération de tests par IA
Notre version précédente avait introduit la possibilité de créer facilement des tests unitaires. La dernière mise à jour d'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
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 EDI 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 JetBrains a 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 et utilisatrices 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.
JetBrains ne va pas abandonner 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’EDI.
dotMemory
dotMemory Standalone sous Linux et macOS dotUltimate
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.
La possibilité de comparer des assemblages 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.
Mises à jour d’Assembly Explorer
Lorsque vous explorez des paquets NuGet dans 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
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.
Nouvelles inspections permettant d'identifier les utilisations d'API vulnérables
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.
Nouveautés et téléchargement de ReSharper 2023.3