ReSharper 2024.2 disponible
avec une prise en charge initiale de C# 13, de meilleures performances, des optimisations de l'AI Assistant et bien plus

ReSharper 2024.2 apporte la prise en charge de la version Preview du SDK .NET 9, qui comprend des fonctionnalit�s de C# 13 comme l'impl�mentation d'interface ref struct, la nouvelle s�quence d'�chappement \e et la refactorisation de modificateur params. La prise en charge de C++ inclut maintenant des fonctionnalit�s de C++23, les informations sur la disposition des types dans des info-bulles et l'am�lioration de la prise en charge des projets Unreal Engine. Cette version fournit �galement la saisie asynchrone pour de meilleures performances, des optimisations de l'AI Assistant gr�ce � des mod�les de langage am�lior�s, des suggestions de code dans l'�diteur, et une nouvelle fonctionnalit� Explain with AI. ReShaper 2024.2 vient encore avec bien d'autres nouveaut�s et am�liorations que nous allons pr�senter dans la suite avec plus de d�tails.

Prise en charge de la version Preview du SDK .NET 9

ReSharper 2024.2 prend en charge la version Preview du SDK .NET 9, qui comprend des fonctionnalit�s de C# 13 comme les caract�res d'�chappement, les refactorisations du modificateur params et les interfaces ref struct.

Prise en charge de C#

Cette nouvelle version de ReSharper �tend la prise en charge des fonctionnalit�s de C# 12, avec notamment les constructeurs principaux, les expressions de collection �tendues et les actions contextuelles am�lior�es pour la cr�ation de tableaux et les conversions de types de collections. De plus, ReSharper 2024.2 apporte la prise en charge initiale de C# 13, en proposant l'impl�mentation de l'interface ref struct, la nouvelle s�quence d'�chappement \e et une refactorisation du modificateur params.

Cette mise � jour inclut �galement :

  • L'am�lioration de l'analyse d'�galit� pour les types struct.
  • L'inspection Extract common code pour r�duire les duplications dans les constructions de branches.
  • Les aper�us de culture lors de la saisie semi-automatique du code du sp�cificateur de format ToString().
  • L'analyse des expressions de conversion pour remplacer les conversions fragiles de style C par des annotations de type explicites.

Prise en charge de C++

Principales am�liorations dans la prise en charge de C++ :

  • Prise en charge de fonctionnalit�s de C++23 suppl�mentaires, parmi lesquelles l'op�rateur d'indice multidimensionnel, les directives de pr�processeur #elifdef et #elifndef, et l'attribut [[assume]].
  • Les info-bulles et la fen�tre contextuelle de documentation rapide fournissent maintenant des informations d�taill�es sur la disposition des types pour les classes et les champs de classes, notamment sur la taille, l'alignement, le d�calage de m�moire et le remplissage.
  • Dans les projets Unreal Engine, ReSharper reconna�t �galement les traits de structs, ce qui garantit que vos structures disposent des m�thodes requises et qu'elles peuvent �tre g�n�r�es rapidement si ce n'est pas le cas. Une nouvelle inspection d�tecte les appels manquants pour les m�thodes de classes de base.
  • Lorsque vous renommez un fichier, la refactorisation Rename propose de nouvelles options pour renommer les fichiers et types associ�s.
  • Les am�liorations de l'analyse du code incluent la mise � jour de Clang-Tidy 18 et la prise en charge des pragmas IWYU.

Performances

Saisie asynchrone activ�e

La saisie asynchrone s'inscrit dans la d�marche d'am�lioration continue des performances de ReSharper, en permettant notamment son ex�cution en dehors du processus de Visual Studio. ReSharper 2024.2 est la premi�re version du produit � inclure ce changement important. Les tests effectu�s en interne par JetBrains ont montr� que l'activation de la saisie asynchrone am�liore de fa�on notable la fluidit� de l'exp�rience de saisie.

AI Assistant

Mise � jour des mod�les et de la collecte des informations contextuelles

JetBrains a mis � niveau les anciens mod�les GPT 3.5 et GPT 4 vers GPT-4o et Google Bison pour certaines t�ches. De plus, l'�diteur de logiciels pour d�veloppeurs a mis � jour son processus de collecte d'informations sur le contexte pour la saisie semi-automatique par IA et le chat par IA afin de pouvoir obtenir des r�sultats plus pertinents avec ce nouveau mod�le.

Ask AI

Il n'est plus n�cessaire d'ouvrir le chat lorsque vous souhaitez poser une question � l'IA. Il suffit d'appeler Ask AI pour poser votre question.


Suggestions et g�n�ration de code dans l'�diteur

JetBrains AI indique d�sormais les endroits o� vous pouvez g�n�rer de la documentation XML ou impl�menter des m�thodes vides en un simple clic (ou en appuyant sur Alt+Entr�e). Cela �vite d'avoir � rechercher manuellement ces options dans la liste d'actions.

De plus, au lieu de vous rediriger vers le chat, l'IA r�pond directement dans l'�diteur. Vous pouvez facilement consulter et g�n�rer � nouveau ces r�ponses si besoin ou sp�cifier des informations suppl�mentaires � la place pour obtenir de meilleurs r�sultats.

Am�lioration de l'interface/exp�rience utilisateur pour la saisie semi-automatique de code

JetBrains a am�lior� la pr�sentation de ses suggestions par IA, ce qui permet de distinguer plus facilement les suggestions de compl�tion multilignes d'IA de ReSharper d'autres �l�ments. Vous pouvez aussi g�n�rer de nouveau les r�sultats en appuyant sur Maj+Tabulation.


Suggestions de noms par IA dans les refactorisations Rename et Extract Method

Nommer des variables et des m�thodes peut �tre compliqu�, en particulier dans des solutions volumineuses comportant de nombreux symboles ayant des noms similaires. Heureusement, l'IA sugg�re d�sormais les noms les mieux adapt�s lorsque vous renommez une m�thode.


Explain with AI pour le d�bogage et l'analyse dynamique de programme (DPA)

Il est d�sormais possible de demander � l'IA d'expliquer les exceptions rencontr�es pendant la session de d�bogage sans quitter votre contexte actuel. Appuyez simplement sur le bouton situ� � c�t� de l'exception pour obtenir l'explication dans le chat.

L'AI Assistant est �galement en mesure d'expliquer les probl�mes relatifs � l'allocation de m�moire et les probl�mes concernant les bases de donn�es identifi�s par l'analyse dynamique de programme (DPA). Lorsque la DPA identifie un probl�me, vous pouvez cliquer sur le bouton Explain with AI : l'IA, qui tient compte du code, analyse le contexte du probl�me, fournit une explication et sugg�re des correctifs. Actuellement, cela s'applique seulement aux probl�mes de m�moire et de base de donn�es.


dotMemory (dotUltimate)

Am�lioration de la recherche d'instances

JetBrains a ajout� des options de filtrage � la vue Instances :

  • Recherche par valeur de cha�ne : saisissez n'importe quelle valeur de cha�ne dans le champ de filtre et dotMemory mettra en �vidence les cha�nes correspondantes. Cela facilite la recherche d'instances de cha�nes sp�cifiques en fonction de leur contenu.
  • Prise en charge des expressions r�guli�res pour les valeurs de cha�nes : utilisez des expressions r�guli�res pour des recherches plus approfondies. Par exemple, ^nAsso.{5,}ID$ permet de rechercher nAssociatedObjectID.nAssociatedObjectID.
  • Recherche par adresse d'objet : vous pouvez �galement rechercher des instances d'objets en fonction de leur adresse en m�moire. Cela permet de suivre directement des objets sp�cifiques.


D�compilateur

Am�liorations g�n�rales

  • Param�tres des lambdas : JetBrains a introduit la prise en charge de la d�compilation des lambdas avec des param�tres optionnels et des tableaux de param�tres, afin d'am�liorer la lisibilit� et la pr�cision du code d�compil�.
  • Attributs des lambdas : la nouvelle version de l'outil permet de mieux traiter les attributs des expressions lambdas afin que toutes les m�tadonn�es pertinentes soient prises en compte dans la sortie d�compil�e.
  • Assemblies prot�g�es : vous avez d�sormais la possibilit� de sp�cifier si vous souhaitez d�compiler les assemblies prot�g�es, ce qui permet un examen du code plus complet.

D�tection de configuration de build

La fen�tre d'outils Assembly Explorer peut maintenant d�tecter et pr�senter la configuration du build des assemblies et ainsi fournir des informations plus claires sur le contexte de compilation de l'assembly.

Traitement des sources externes

  • PDB avec SrcSrv et SourceLink : le d�compilateur prend maintenant en charge la navigation vers le code source depuis les fichiers PDB contenant � la fois SrcSrv et SourceLink.
  • Directives du pr�processeur : le d�compilateur reconna�t d�sormais correctement les directives du pr�processeur (telles que NET6_0_OR_GREATER) du framework cible ou du PDB Portable de l'assembly associ�, ce qui garantit une repr�sentation rapide du code.
  • Action Open in Browser : vous pouvez d�sormais naviguer jusqu'au code source dans le r�f�rentiel pour les types ou jusqu'� un r�f�rentiel pour les paquets NuGet ou les assemblies.


Nouveaut�s et t�l�chargement de ReSharper 2024.2