Nouveautés de ReSharper C⁠+⁠+ 2026.1

ReSharper C⁠+⁠+ 2026.1 offre un démarrage plus rapide et réduit l'utilisation de la mémoire. Cette version ajoute la prise en charge de la directive C⁠+⁠+⁠26 #embed et d'autres nouvelles fonctionnalités de ce langage. Les améliorations de l'assistance au codage incluent l'importation automatique des modules C⁠+⁠+⁠20 et de nouveaux scénarios de saisie semi-automatique postfix. Les développeurs Unreal Engine bénéficient d'une intégration Blueprint améliorée et de correctifs de compatibilité pour Unreal Engine 5.8 qui sera bientôt disponible.

Performances

ReSharper C⁠+⁠+ 2026.1 apporte des gains de performances significatifs à tous les niveaux de l'expérience de l'IDE, adaptés spécialement aux exigences des gros projets Unreal Engine. Nos mesures du projet d'échantillon Lyra pour Unreal Engine en mode Out-of-Process illustrent ces améliorations :

  • L'indexation initiale du code C⁠+⁠+ est désormais jusqu'à 20 % plus rapide, ce qui réduit les temps d'attente lorsque vous ouvrez une solution pour la première fois.
  • Le temps de démarrage à chaud a été accéléré de plus de 20 %, ce qui permet de revenir beaucoup plus rapidement à une solution ouverte.
  • L'utilisation de la mémoire backend après un démarrage à chaud a été réduite jusqu'à 21 %, ce qui laisse plus de ressources pour le reste de votre workflow.

Fonctionnalités du langage

ReSharper C⁠+⁠+ prend désormais en charge la directive de préprocesseur #embed introduite dans C⁠+⁠+⁠26 et C23. Cette directive permet d'intégrer le contenu d'un fichier de ressource binaire directement dans votre code source, sans recourir à des outils externes ou à la génération de code.

Cette version prend également en charge deux fonctionnalités de langage supplémentaires :

  • Opérateur _Countof : ReSharper C⁠+⁠+ reconnaît désormais l'opérateur _Countof de C2Y (le nouveau standard C), qui renvoie le nombre d'éléments d'un tableau.
  • Types à virgules flottantes étendus : les types à virgules flottantes bfloat16_t, float16_t et float128_t standardisés dans C⁠+⁠+⁠23 sont désormais pris en charge.

ReSharper C⁠+⁠+ 2026.1 améliore la compatibilité avec les extensions propres au compilateur :

  • Fonctions imbriquées : ReSharper C⁠+⁠+ prend désormais en charge l'extension GCC qui permet de définir des fonctions à l'intérieur d'autres fonctions C.
  • Qualificateurs _Nullable/_Nonnull : les qualificateurs de nullabilité des pointeurs de Clang sont désormais reconnus par le module d'analyse.

Assistance à la programmation

Réduire la charge cognitive avec la nouvelle prise en charge de l'importation automatique de ReSharper C⁠+⁠+ pour les modules C⁠+⁠+⁠20. Lorsque vous utilisez un symbole exporté alors que la déclaration import correspondante est manquante, l'IDE fournit désormais une suggestion intelligente permettant de l'insérer automatiquement. Actuellement, l'importation automatique est prise en charge uniquement pour les symboles exportés directement depuis les unités d'interface de module primaire et les partitions de module.

La saisie semi-automatique Postfix a été étendue pour couvrir les scénarios suivants :

  • Types primitifs : la saisie semi-automatique Postfix fonctionnait précédemment uniquement avec les classes et les types de structure. Elle permet désormais de gérer les expressions de types primitifs, tels que int, bool et float.
  • Littéraux : la saisie semi-automatique Postfix fonctionne désormais après les littéraux. Ainsi, la saisie de 42.cos produit cos(42).
  • Suffixes de littéraux définis par l'utilisateur : la saisie semi-automatique du code est désormais disponible pour les opérateurs de littéraux définis par l'utilisateur. Lorsque vous saisissez un littéral suivi par _, ReSharper C⁠+⁠+ suggère des suffixes operator"" correspondants et visibles dans la portée actuelle.

Deux améliorations de l'indentation automatique permettent d'obtenir une expérience d'édition plus fluide :

  • Le fait d'appuyer sur Entrée entre les accolades d'une instruction de flux de contrôle ou d'une définition de classe positionne désormais correctement le curseur et applique une indentation correcte, y compris lorsque des attributs sont présents (p. ex. class [[deprecated]] MyClass {}).
  • L'indentation automatique dans les blocs extern respecte désormais le paramètre de formatage Indent linkage specification block members.

Unreal Engine

ReSharper C⁠+⁠+ 2026.1 améliore la prise en charge de Blueprint :

  • BlueprintPure dans Code Vision : Code Vision reconnaît désormais les fonctions qui sont marquées par le spécificateur BlueprintPure en supplément de BlueprintCallable.
  • Implémentations d'événements dans Code Vision : Code Vision détecte désormais les implémentations des fonctions BlueprintNativeEvent et BlueprintImplementableEvent dans les ressources Blueprint.
  • Find Usages pour les propriétés déléguées : Find Usages permet désormais de découvrir les liaisons côté Blueprint des propriétés déléguées BlueprintAssignable.
  • Précision accrue des recherches Blueprint : Find Usages pour les références Blueprint effectue désormais des recherches par chemin de ressource et non par nom Blueprint. Cela signifie que si votre projet contient plusieurs éléments Blueprints du même nom, les résultats de la recherche ne sont plus ambigus.

ReSharper C⁠+⁠+ indexe désormais les plugins Unreal Engine par défaut. Avec le recours croissant aux plugins dans les projets Unreal Engine et les gains de performances récents, l'indexation des plugins par défaut permet de profiter immédiatement d'une meilleure analyse de code et d'une navigation plus fluide. Vous pouvez restaurer le comportement précédent sur la page ReSharper | Options | Code Editing | C/C⁠+⁠+ | Unreal Engine dans la section Settings.

ReSharper C⁠+⁠+ ajoute également la prise en charge des modifications UnrealHeaderTool dans Unreal Engine 5.8, qui sera prochainement disponible. En particulier, les macros DECLARE_DYNAMIC_MULTICAST_DELEGATE ne génèrent plus de faux-positifs d'erreur dans l'analyse de code.

Si vous recherchez un IDE autonome et multiplateforme pour le développement Unreal Engine, nous vous suggérons d'essayer Rider. La prise en charge d'Unreal Engine dans Rider et dans ReSharper C⁠+⁠+ est alignée, vous retrouverez donc les mêmes améliorations dans la version 2026.1 de Rider.

Analyse du code

ReSharper C⁠+⁠+ 2026.1 met à jour la version intégrée de Clang-Tidy, ce qui apporte les dernières vérifications et améliorations de LLVM 22.

Une nouvelle inspection détecte les initialiseurs désignés qui s'affichent dans un ordre qui ne suit pas la déclaration des membres correspondants qui sont déclarés dans la structure. Dans la mesure où C⁠+⁠+⁠20 nécessite que les initialiseurs désignés suivent l'ordre de la déclaration, les initialiseurs qui ne suivent pas cet ordre provoquent une erreur de compilation. ReSharper C⁠+⁠+ signale désormais ces cas et fournit un correctif rapide qui réorganise automatiquement la liste des initialiseurs en fonction de la définition de la structure.

Une autre nouvelle inspection vous prévient si une fonction a un niveau d'accès différent (public, protected ou private) de celui de la fonction virtuelle qu'elle remplace dans la classe de base. C⁠+⁠+ permet de modifier le niveau d'accès d'un « override », mais cette action est souvent fortuite et risque de créer un comportement imprévisible. L'inspection permet d'identifier ces incohérences mineures.

Cette version étend les inspections Unused symbol aux membres de classe définis dans les fichiers source .cpp. Auparavant, ces membres étaient réputés visibles de façon externe et exclus de l'analyse Unused symbol. Maintenant, ils sont analysés de la même façon que les fonctions static et les membres d'espace de nom anonyme.

Navigation

Nous avons amélioré les marques de gouttière dans les fichiers C⁠+⁠+ pour vous aider à naviguer et à comprendre des bases de données complexes avec un minimum d'effort.

  • Infobulles avec mise en évidence des éléments sémantiques : les infobulles qui s'affichent lorsque vous survolez les marques de gouttière incluent désormais la mise en évidence des éléments sémantiques, ce qui permet de les lire plus facilement de façon globale.
  • Navigation vers les classes de base : une nouvelle icône de gouttière pour les définitions de classe permet de naviguer vers le haut de la hiérarchie d'héritage jusqu'aux classes de base, afin de compléter les marques existantes pour naviguer vers les classes dérivées.

Go to Declaration et les autres actions de navigation fonctionnent désormais sur l'accolade ouvrante dans les expressions d'initialisation avec accolades (p. ex. MyStruct { 1 }), en supplément du nom de type.

Intégration avec Visual Studio

Les infobulles ReSharper C⁠+⁠+ sont désormais disponibles dans Visual Studio 2026, afin de restaurer la prise en charge des infobulles qui était absente de la version initiale de compatibilité avec Visual Studio 2026. La présentation des infobulles a également été améliorée : les icônes permettent désormais de distinguer les différents types de symbole et la prise en charge des thèmes a été améliorée.

Plusieurs éléments de l'interface de l'éditeur de ReSharper ont été rafraîchis afin de mieux s'accorder avec le style moderne de l'expérience Visual Studio.

Grâce à une refonte, l'interface de la saisie semi-automatique du code offre désormais une apparence plus claire et cohérente dans l'éditeur.

Nous avons également modernisé de nombreux composants de l'interface utilisateur, y compris les fenêtres contextuelles d'informations sur les paramètres, les infobulles et les autres fenêtres contextuelles de l'éditeur, en remplaçant les visuels obsolètes et en améliorant leur apparence à travers les thèmes et les réglages DPI.

L'interface utilisateur mise à jour prend désormais en charge la fonctionnalité de zoom de l'éditeur de Visual Studio, afin de s'assurer que les listes de saisie semi-automatique et que les informations sur les paramètres sont mises à l'échelle correctement lorsque les niveaux de zoom changent.

ReSharper C⁠+⁠+ 2026.1 corrige plusieurs problèmes au niveau du modèle de projet :

  • Projets WDK (Windows Driver Kit) : ReSharper C⁠+⁠+ reconnaît désormais les outils de plateforme propres à WDK et fournit les définitions de préprocesseur par défaut appropriées.
  • Projets WinUI 3 : les chemins Include sont désormais configurés correctement.
  • Répertoires de bibliothèque pour les bibliothèques de type : ReSharper C⁠+⁠+ résout désormais les bibliothèques de type COM (.tlb) à partir des répertoires de bibliothèques configurés dans les paramètres de projet Visual Studio.

Consultez la page des Nouveautés de ReSharper pour en savoir plus sur tous les autres changements introduits dans cette version.