Nouveautés de ReSharper 2025.2

La version ReSharper 2025.2 apporte des améliorations significatives en termes de performances, de nouvelles fonctionnalités pour les langages et une productivité accrue pour les développeurs à tous les niveaux. Avec le mode Out-of-Process (OOP) désormais disponible en aperçu et une prise en charge étendue pour C# 14 et C++, cette version vous aide à écrire du code moderne et fiable plus rapidement que jamais.

Performances

Mode Out-of-Process Préversion publique

Nous sommes ravis d'annoncer que ReSharper 2025.2 est la première version stable à inclure la prise en charge de l'exécution de ReSharper hors processus (OOP) avec Microsoft Visual Studio. Ce changement architectural tant attendu jette les bases d'une meilleure stabilité et de meilleures performances à l'avenir, en découplant le processus ReSharper de celui de Visual Studio.

Pour passer en mode Out-of-Process, accédez à Options | Environment | Products & Features dans ReSharper et sélectionnez l'option Run ReSharper in separate process. Cliquez sur le bouton Save and restart pour appliquer les modifications et réinitialiser ReSharper sans avoir à redémarrer l'IDE.

En savoir plus

Navigation instantanée au démarrage

Avec ReSharper 2025.2, vous pouvez utiliser Ctrl+T pour commencer à naviguer vers les fichiers immédiatement après avoir ouvert une solution, sans attendre l'indexation complète.

Optimisation du traitement Razor/Blazor

Nous avons réduit les besoins en mémoire et éliminé le traitement redondant pour les fichiers inclus comme _ViewImports et _ViewStart. Find Usages est désormais plus rapide pour les types de composants Razor, et plusieurs problèmes de faux avertissements ont été éliminés.

Meilleure refactorisation Rename

La refactorisation Rename est désormais nettement plus rapide et plus transparente. Nous avons parallélisé la phase de validation, amélioré les rapports de progression et réduit la consommation de mémoire.

Refactorisations in situ plus fluides

Nous avons réduit l'impact des refactorisations in situ, minimisé les interférences avec la saisie et amélioré l'expérience globale d'édition.

Chargement des solutions et indexation initiale plus rapides

ReSharper tire désormais mieux parti des SSD modernes en supprimant l'ancienne logique qui appliquait des opérations de disque séquentielles lors de l'indexation. Cette logique avait été optimisée à l'origine pour les disques durs (HDD), mais les SSD ne sont pas soumis aux limitations physiques des disques durs et permettent des opérations d'entrées/sorties parallèles avec un débit élevé. Ce changement, associé à un traitement en arrière-plan optimisé, accélère légèrement l'indexation et le démarrage sur du matériel moderne. Le chargement des solutions a également été amélioré pour les projets qui incluent des références aux générateurs de sources.

Vous voulez connaître toute l'histoire derrière ces gains de performance ? Rendez-vous sur notre blog pour en savoir plus.

ReSharper pour Visual Studio Code Préversion publique

ReSharper est désormais disponible en tant qu'extension pour Visual Studio Code. Si vous utilisez Visual Studio Code dans votre workflow, vous pouvez désormais bénéficier des fonctionnalités familières de ReSharper directement dans l'éditeur. Les inspections de code, les correctifs rapides, la navigation et la refactorisation Rename sont tous pris en charge et reposent sur le même moteur.

ReSharper pour VS Code est gratuit durant la phase de préversion publique.

Prise en charge de C#

Nouvelles fonctionnalités de langage

ReSharper 2025.2 apporte une prise en charge initiale des derniers ajouts de C# 14 :

Extensions Prise en charge initiale

L'aperçu de ReSharper prend en charge les nouveaux membres d'extension de C# 14 en offrant la saisie automatique du code, l'analyse de code, Find Usages, la refactorisation Rename et plus encore.

Événements et constructeurs partiels

C# 14 continue d'étendre les possibilités de génération de code source avec des événements partiels et des constructeurs. ReSharper est mis à jour pour couvrir ces nouveaux cas d'utilisation.

Affectations conditionnelles de nullité

ReSharper 2025.2 vous permet d'utiliser les nouveaux schémas a?.b = c et a?[i] = c pour simplifier votre code tout en gérant en toute sécurité les valeurs null potentielles.

Opérateurs d'affectation composés définis par l'utilisateur

ReSharper comprend et traite maintenant correctement les opérateurs d'affectation composés définis par l'utilisateur introduits dans C# 14.

Directives de préprocesseur ignorées

ReSharper reconnait maintenant les nouvelles directives de préprocesseur #! et #:.

Meilleure journalisation avec LoggerMessage

ReSharper 2025.2 introduit plusieurs améliorations pour vous aider à écrire un code de journalisation plus efficace avec ILogger et en faciliter la maintenance.

Nouvelle option de refactorisation pour convertir les appels de journalisation en méthodes générées par LoggerMessage

ReSharper peut à présent convertir automatiquement vos appels de méthode ILogger en méthodes basées sur LoggerMessage. Cela réduit la charge d'exécution et améliore les performances, en particulier dans les applications à haut débit.

Saisie semi-automatique du code plus intelligente pour ILogger<T>

Lors de l'écriture de ILogger<>, ReSharper suggère désormais le type actuel sous forme de saisie semi-automatique à l'intérieur de chevrons, ce qui vous fait gagner du temps lors de la configuration.

Gestion améliorée des noms de paramètres dans les attributs [LoggerMessage]

ReSharper fournit une saisie semi-automatique pratique pour les noms de paramètres dans les attributs [LoggerMessage] et met correctement à jour le code lorsque les paramètres correspondants sont renommés.

Nouvelles inspections pour l'utilisation de LoggerMessage

ReSharper détecte maintenant les paramètres manquants et les éléments de journal dupliqués dans les attributs [LoggerMessage] et fournit des correctifs rapides pour résoudre ces problèmes.

Autres améliorations

Suggestions d'indexeurs de plage

ReSharper reconnaît davantage de cas dans lesquels des indexeurs de plage peuvent être utilisés. Il suggère par exemple s[a..b] au lieu de s.Substring(a, b - a) lorsque c'est pertinent.

Détection améliorée des limites redondantes dans les expressions de plage

ReSharper identifie maintenant plus efficacement les limites redondantes dans les expressions de plage, ce qui clarifie vos opérations de découpage et en améliore la fiabilité.

Intégration améliorée de Roslyn

ReSharper s'intègre désormais plus étroitement aux paramètres d'inspection de Roslyn, avec la prise en charge de l'activation ou de la désactivation des inspections via #pragma et la configuration de gravité de Roslyn.

Productivité

Refactorisations in situ avec des indications dans l'éditeur

Les refactorisations in situ s'affichent désormais sous forme d'indications dans l'éditeur, ce qui facilite leur découverte et améliore leur cohérence avec les JetBrains IDEs. Vous pouvez configurer leur apparence dans ReSharper | Settings | Environment | Editor | Appearance.

Nouvelle action contextuelle : Convert to local function

Vous pouvez désormais convertir rapidement une méthode en fonction locale grâce à une action contextuelle dédiée, afin d'améliorer la structure et la lisibilité du code.

Prise en charge de l'attribut ConstantExpected

ReSharper avertit lorsque des valeurs non constantes sont transmises à des paramètres marqués par l'attribut [ConstantExpected], pour vous aider à éviter certains bugs subtils.

Nouvelle inspection pour les branches switch dupliquées

ReSharper détecte les branches switch dupliquées et fournit un correctif rapide pour les fusionner, ce qui améliore la concision de votre code.

Prise en charge de C++

ReSharper 2025.2 introduit d'autres améliorations pour le développement moderne en C++ :

  • Prise en charge d'un ensemble initial de caractéristiques du langage issues du standard C++26 récemment finalisé.
  • Les fonctionnalités d'assistance au codage sont désormais entièrement disponibles lorsque vous éditez du code à l'intérieur de blocs #if exclus, sans devoir changer votre configuration de build active.
  • Un nouveau paramètre de style de syntaxe et une action contextuelle vous aident à garder les définitions dans un fichier source triées par leur ordre de déclaration.
  • Mise en évidence des identificateurs pour les constantes globales, prise en charge des références de variables dans les directives #pragma OpenMP, et d'autres nouvelles fonctionnalités d'assistance au codage.

Apprenez-en plus sur les mises à jour de C++ sur la page Nouveautés de ReSharper C++ 2025.2.

Intégration continue

Fin de l'extension TeamCity

À partir de la version 2025.2, nous abandonnerons l'extension TeamCity pour Visual Studio.

Ce changement s'inscrit dans le cadre de nos efforts continus pour rationaliser les outils et nous concentrer sur les expériences de développement les plus significatives. Bien que nous comprenions que cela puisse affecter certains workflows, nous pensons que cette décision amènera à terme à de meilleures performances et à un écosystème plus durable pour nos outils.

Qualité du code

Validation CQRS Expérimental

ReSharper 2025.2 introduit des inspections expérimentales pour aider à appliquer le modèle CQRS (Command Query Responsibility Segregation). Ces inspections détectent les incohérences de nommage, les intersections de contexte et les conflits entre les annotations et les noms. Des correctifs rapides sont disponibles pour supprimer les attributs redondants ou renommer les entités afin de suivre les conventions.

La validation CQRS est désactivée par défaut. Vous pouvez l'activer dans Options | Code Inspection | CQRS Validation. Les annotations requises sont disponibles dans JetBrains.Annotations.