ReSharper Ultimate 2019.3 inaugure un tout nouveau gestionnaire de localisations et des suggestions de noms de types. Il offre en outre une prise en charge renforcée de C# 8, C++ 20 et Unreal Engine. La navigation, les styles de code et les tests unitaires ont été améliorées, et les outils de ligne de commande pour ReSharper et dotTrace fonctionnent maintenant sur Linux et macOS.
Essai gratuit sur 30 jours disponible
Le tout nouveau Localization Manager vous aider à travailler plus efficacement avec un grand nombre de fichiers .resx dans votre solution. Il affiche tout le contenu de vos fichiers .resx dans une seule et même grille. Cela vous permet d'observer l'état actuel de l'application ou de la localisation du site Internet pour repérer rapidement les valeurs de ressource manquantes dans une culture donnée.
Vous pouvez :
Découvrez Localization Manager dans ReSharper | Windows ou dans le menu contextuel de Solution Explorer.
Pour en savoir plus, veuillez consulter La localisation se simplifie grâce au Localization Manager.
La nouvelle version de ReSharper gère encore mieux C# 8. Elle inclut désormais :
notnull
switch
de type ciblénullable
dans un fichier, un projet ou l'ensemble des projets d'une solution. EnumeratorCancellation
aux paramètres CancellationToken
des itérateurs async
.En outre, l'inspection de code 'Type or type member is never used' a été divisée en deux options distinctes, une pour les types ('Type is never used') et une autre pour les membres de type ('Type member is never used').
L'action Generate en sait davantage sur C# 8 et vous aide à le maîtriser également, grâce à :
Nullability
pris en compte lors de la génération de comparateurs/membres relationnels ou d'égalité.Il existe en outre une nouvelle option permettant d'utiliser System.HashCode
pour implémenter GetHashCode
lorsque vous générez des membres d'égalité ou des comparateurs d'égalité pour C# et VB.NET, ce qui contribue à la propreté de votre code.
Dans cette version, nous avons répondu à une autre demande très attendue. Les paramètres de nommage C# prennent désormais en charge la lecture de/l'exportation vers EditorConfig.
En plus de cet énorme changement, d'autres petits ajustements vous offrent davantage de contrôle sur le style de votre code :
var
au lieu des types explicites uniquement si le type de l'expression de l'initialiseur est évident/apparent, ReSharper peut maintenant détecter davantage de cas “evident”. Il existe également un mode 'compatibility' correspondant au comportement Roslyn.&&
ou ||
passe en premier, cette option vous aidera à le clarifier à l'aide des parenthèses.On nous demande souvent s'il est possible d'exécuter les ReSharper Command Line Tools sur un CI hébergé sous Linux. Pendant longtemps, nous avons dû répondre : "Non, c'est impossible." Toutefois, nous avons travaillé dur pour éliminer toutes les parties spécifiques à Windows afin de pouvoir migrer le tout vers un environnement d'exécution Mono pour Linux et macOS. Ne vous inquiétez pas. Ils utilisent toujours le framework .NET sous Windows.
Nous avons aujourd'hui le plaisir de vous annoncer que les outils de ligne de commande ReSharper font leur arrivée sur Linux et macOS ! Rien ne vous empêche d'utiliser la puissante analyse de code de ReSharper sur d'autres systèmes d'exploitation que Windows.
Nous espérons que vous aimez les conseils pour les noms de paramètre et les annotations de code que nous avons introduits dans ReSharper 2019.1. Dans cette version, nous sommes allés plus loin et sommes maintenant prêts à vous donner des conseils pour les noms de types. Elles sont disponibles pour :
La plupart d'entre nous se retrouve parfois dans une situation où il serait utile de savoir où une référence donnée est utilisée dans notre code. Pendant longtemps, il était possible d'exécuter l'action “Find dependent code” sur une référence pour détecter tous les emplacements où trouver des types ou des membres de types de cette référence. Toutefois, cette action a toujours eu ses limites.
À compter de la version 2019.3, nous avons éliminé certaines d'entre elles :
Les fenêtres d'outils Unit Testing fonctionnent déjà très bien et couvrent la majeure partie des fonctionnalités que l'on peut en attendre. Malgré tout, nous avons décidé d'y ajouter d'autres moyens de personnaliser votre vue de la liste des tests unitaires.
La mise en évidence des identificateurs a été entièrement remaniée. Nous avons ajouté davantage de paramètres de couleurs pour améliorer la précision du surlignage de code (disponibles dans Tools | Options | Fonts and Colors
). Les nouveaux paramètres de couleurs comprennent :
Le développement des fonctionnalités de C++20 est terminé. Il sera officiel dès l'année prochaine pour apporter un éventail d'améliorations très attendues des développeurs C++. ReSharper C++ 2019.3 prend déjà en charge beaucoup de ces fonctionnalités, renforcées par une analyse et des informations supplémentaires.
Pour commencer, ReSharper C++ a maintenant conscience que les agrégats peuvent être initialisés à partir d'une liste de valeurs entre parenthèses, et qu'un ADL supplémentaire est nécessaire dans certains cas avec les modèles de fonctions.
Non seulement les concepts sont pris en charge dans l'analyseur de ReSharper C++, mais les refactorisations Rename et Find Usages sont également disponibles. Mieux encore, l'analyse du code peut à présent afficher davantage de détails sur les erreurs associées aux concepts. Par exemple, si la résolution d'une surcharge échoue parce qu'une exigence de concept n'est pas remplie, vous verrez toutes les informations dans une infobulle. D'ailleurs, dans ReSharper 2019.3, nous avons également ajouté des couleurs à l'infobulle des informations sur les échecs de résolution des surcharges.
Nous avons initié une série d'articles de blog sur C++20 et ReSharper C++. Vous pouvez les lire pour en savoir plus sur les nouvelles fonctionnalités du langage et leur adoption dans ReSharper C++.
Si ReSharper C++ détecte que vous développez un projet Unreal Engine, il ajuste son comportement pour mieux s'adapter à UE4.
Le modèle postfix "new" pour les UCLASS
s'étend pour former un véritable appel de fonction factory (qui peut enregistrer l'objet créé dans le ramasse-miettes). Des modèles dynamiques portant les noms correspondants sont désormais disponibles pour vous aider à générer rapidement USTRUCT/UCLASS/UENUM/UENUMCLASS
.
Les pointeurs intelligents d'Unreal Engine (TSharedPtr, TSharedRef, TWeakPtr, TUniquePtr
) sont à présent gérés par ReSharper C++ de façon similaire à std::shared_ptr/std::unique_ptr
. Cela signifie que des fonctionnalités comme Parameter Info, l'analyse de code et la saisie semi-automatique du code postfix fonctionnent aussi pour les pointeurs intelligents.
Enfin, plusieurs améliorations de performances ont été apportées pour les projets UE4. Nous avons par exemple corrigé un blocage après l'actualisation "Refresh Visual Studio Project" dans l'éditeur UE4.
Consultez la page Nouveautés de ReSharper C++.
Le profileur en ligne de commande arrive enfin sur macOS et Linux. dotTrace.sh
possède les mêmes fonctionnalités que son homologue sous Windows et est distribué en tant qu'archive .tar.gz et en tant que paquet NuGet.
Consultez les Nouveautés de dotTrace 2019.3.
dotCover 2019.3 bénéficie de plusieurs améliorations :
Consultez les Nouveautés de dotCover 2019.3.
Essai gratuit sur 30 jours disponible