Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

JetBrains annonce la disponibilité de la version 2020.2 de ReSharper C++
Son extension Visual Studio pour les développeurs C++

Le , par Michael Guilloux

123PARTAGES

5  0 
JetBrains vient d'annoncer la disponibilité de la deuxième mise à jour majeure de l'année pour ReSharper C++, son extension Visual Studio pour les développeurs C++. ReSharper C++ 2020.2 inclut de nombreuses améliorations de performances et corrections de bugs, en plus d'extensions et de mises à niveau des fonctionnalités dans tout le produit.

Parmi les améliorations les plus notables, citons les mises à jour de la prise en charge de C++/CLI, l'amélioration de la navigation et de la recherche, une nouvelle série d'inspections de code accompagnées de leurs correctifs rapides et une prise en charge plus intelligente d'Unreal Engine. La prise en charge du modèle de projet Unreal Engine vous permet de passer à la vitesse supérieure pour le développement Unreal Engine, avec des suggestions d'importation automatique plus intelligentes pour les directives include, des listes de saisie semi-automatique affinées et plus de réactivité lorsque vous alternez entre les configurations de votre solution. Nous reviendrons dans la suite sur ces nouveautés par domaine.

Unreal Engine

Pour améliorer la précision de l'importation automatique et de la saisie semi-automatique du code, ReSharper C++ 2020.2 inaugure la prise en charge du modèle de projet Unreal Engine. Cela signifie que ReSharper C++ est désormais capable de lire les informations de projet directement à partir des fichiers .uproject, sans utiliser les fichiers de projet intermédiaires générés par Visual Studio. Le nouveau modèle de projet fournit des listes affinées d'éléments suggérés tenant compte des références du plugin et du module. ReSharper C++ ajuste également son comportement lorsque vous changez la configuration de la solution. ReSharper C++ vous rappellera désormais également d'actualiser votre projet Visual Studio dans Unreal Editor si les fichiers du projet sont obsolètes.


Pour faciliter la navigation, les symboles des sources du moteur sont désormais traités comme des symboles de bibliothèque et seront masqués par défaut dans les résultats de la recherche si un symbole correspondant existe dans le code de l'utilisateur.

Pour respecter la norme de codage Unreal Engine, ReSharper C++ 2020.2 inclut plusieurs mises à jour de la gravité des inspections, des actions de génération de code et de l'importation automatique des directives include. En outre, une nouvelle inspection avec un correctif rapide permet d'ajouter le spécificateur virtual aux fonctions de remplacement.


C++/CLI

ReSharper C++ 2020.2 inclut de nombreuses corrections de bugs et améliore l'interopérabilité de C++/CLI avec C#. Lors de la recherche de symboles dérivés dans le code C++/CLI, ReSharper C++ trouve des symboles dans le code C# en plus du code C++/CLI. La navigation vers les symboles de base et dérivés fonctionne également sur les entités CLR importées. Pour bénéficier de tous les avantages de cette prise en charge C++/CLI, vous devez toujours installer à la fois ReSharper et ReSharper C++, mais les deux produits sont désormais inclus dans la même licence.

De nouvelles inspections de code avec correctifs rapides sont disponibles pour les utilisations de gcnew, sealed et safe_cast.






Navigation et recherche

La portée et l'applicabilité des fonctionnalités suivantes ont été étendues :

  • "Go to declaration" fonctionne sur les identifiants non résolus pour vous aider à comprendre ce qui n'a pas fonctionné ;
  • "Find usages" trouve les occurrences du constructeur à partir de listes d'initialisation entre accolades dans plus de cas, notamment dans les instructions return. "Find usages" a également bénéficié d'une amélioration de performances grâce à plusieurs correctifs ;
  • "Go to Base Symbols" et "Go to Derived Symbols" fonctionnent désormais sur les entités CLR importées.


ReSharper C++ peut maintenant mettre en évidence automatiquement les utilisations de l'élément sous le caret lorsque vous vous déplacez dans votre code. Dans la fenêtre "File Structure", les directives du préprocesseur sont désormais masquées par défaut afin que vous puissiez naviguer plus facilement dans les fichiers volumineux.


Analyse du code

De nouvelles inspections sont disponibles, avec les correctifs rapides correspondants pour vous aider à résoudre les problèmes suivants :

  • des liaisons structurées peuvent être utilisées pour moderniser le code ;
  • la fonction de remplacement n'a pas de spécificateur virtual ;
  • impossible d'utiliser gcnew sur un type natif et impossible d'utiliser new sur un type géré ;
  • le spécificateur final ne peut pas être utilisé pour les classes gérées.

ReSharper C++ met désormais également en évidence les fautes de frappe pour les directives de préprocesseur. Avec un aperçu des correctifs rapides Clang-Tidy, il est désormais plus facile de sélectionner le correctif requis.


Le moteur d'évaluation a été mis à jour pour prendre en charge la modification de valeurs à l'intérieur des fonctions constexpr et peut fonctionner avec les valeurs des types de classe.

Saisie semi-automatique du code

Un nouvel élément de la saisie semi-automatique permet d'insérer un argument lambda généré automatiquement lorsqu'un paramètre std::function est attendu.


Si une classe n'est pas incluse dans le fichier actuel, la saisie semi-automatique de l'importation suggérera une nouvelle option pour ajouter une déclaration anticipée au lieu d'inclure le fichier d'en-tête correspondant.


Style et mise en forme du code

ReSharper C++ 2020.2 ajoute trois nouveaux paramètres pour une configuration plus flexible :

  • Indent aligned ?: operator : une option de mise en forme pour les expressions ternaires multilignes ;
  • Insert // on Enter in multi-line // comments : une option de l'éditeur permettant d'empêcher l'extension automatique des commentaires multilignes dans un style à une seule ligne ;
  • Consider only quoted includes as potential main headers : une option de tri des directives include pour améliorer la détection des en-têtes principaux.


Les paramètres de classement #include ont été déplacés vers une page d'options séparée et sont désormais plus faciles à trouver. Il vous suffit de cliquer sur "Order of #includes" dans le groupe d'options "Code Editing | C++". Enfin, le moteur de mise en forme est désormais beaucoup plus rapide dans les fichiers source comportant de nombreux appels de macro.


Télécharger ReSharper C++ 2020.2

Voir aussi :

L'EDI CLion 2020.2 de JetBrains disponible, avec l'ajout des projets Makefile, l'amélioration du support de CMake, une analyse de code plus précise et une meilleure conformité à la norme C++20
L'EDI Java IntelliJ IDEA 2020.2 permet d'examiner et de fusionner les Pull Request GitHub directement dans l'EDI et de naviguer rapidement entre les avertissements
DataGrip 2020.2, l'EDI destiné aux administrateurs de base de données, apporte de nombreuses améliorations au niveau de l'interface, de l'éditeur SQL mais aussi des vues
WebStorm, l'EDI pour le développement d'apps Web, est disponible en version 2020.2, avec la prise en charge complète des Pull Request GitHub et la possibilité d'utiliser Prettier par défaut
JetBrains annonce la sortie de YouTrack 2020.3, la troisième mise à jour majeure de l'année pour son logiciel de gestion de projet et de suivi des incidents

Une erreur dans cette actualité ? Signalez-le nous !