ReSharper Ultimate 2020.1 inaugure un nouvel outil d'analyse de flux de données pour les valeurs entières en C# et offre une meilleure prise en charge de la fonctionnalité des types de référence nullables ainsi que des nouvelles fonctionnalités de C++ 20. Il améliore la prise en charge du XAML et d'Unreal Engine, se dote de quelques nouvelles fonctionnalités pour la navigation et permet d'ajouter des commentaires dans le Localization Manager. Le décompilateur prend en charge davantage de fonctionnalités C# 7.x et 8.0.
Essai gratuit sur 30 jours disponible
Cette version de ReSharper inaugure un nouveau type d'analyse de code C# pour suivre l'utilisation des valeurs entières dans votre application. Ce nouveau type d'analyse suit la variation des valeurs de toutes les variables int
locales, et vérifie l'exactitude de toutes les opérations courantes sur ces variables pour détecter d'éventuels morceaux de code inutiles ou erronés. Plus précisément, il vous avertit des problèmes suivants :
true
ou false
. switch
heuristiquement inaccessibles vérifiant les valeurs int
. 1
, addition de 0
, etc. int
possibles.0
.Pour améliorer la précision de l'analyse, nous avons également ajouté deux nouveaux attributs JetBrains.Annotations à utiliser avec les membres de type et les paramètres de type int
: [NonNegativeValue]
et [ValueRange(from, to)]
. Ces attributs indiquent comment les valeurs de membres int
donnés peuvent varier pendant l'exécution.
Nous continuons à renforcer la prise en charge des fonctionnalités du langage C# 8. En coulisses, nous avons beaucoup refactorisé notre prise en charge du langage C# pour préparer l'analyse de code et d'autres fonctionnalités, telles que les refactorisations et ReSharper Build, pour prendre en charge les types de référence nullables (NRT). Dans ReSharper 2020.1, l'analyse de code signale les avertissements de compilation liés aux types de référence nullables et propose des correctifs rapides pour la plupart d'entre eux.
Plusieurs nouvelles inspections et correctifs rapides font leur arrivée :
async
des méthodes lorsqu'elles sont disponibles au lieu des surcharges sync
. nameof
au lieu d'utiliser la construction typeof(SomeType).Name pour obtenir le nom du type actuel. Cette version apporte des tonnes de modifications à l'architecture de ReSharper pour nous rapprocher de plus en plus de notre objectif d'exécuter toutes les fonctionnalités principales de ReSharper en dehors du processus Visual Studio. Toutes ces modifications ont eu lieu en coulisses, vous ne remarquerez donc aucun changement dans l'interface/expérience utilisateur de la build ReSharper 2020.1.
Si vous avez manqué les actualités de notre progression vers le retrait de ReSharper du processus, c'est une bonne occasion de vous rattraper et de voir où nous en sommes maintenant.
Cette mise à jour apporte plusieurs fonctionnalités, petites mais utiles, à Navigation, et elles profitent autant à ceux qui utilisent principalement la souris qu'à ceux qui utilisent principalement le clavier pour interagir avec ReSharper :
Dans la version 2020.1, nous avons apporté de nombreuses améliorations et de nombreux correctifs à la prise en charge XAML. Ils couvrent les XAML de WPF, Xamarin.Forms, UWP et Avalonia.
Nous sommes heureux de proposer une bien meilleure prise en charge pour l'inférence de contexte des données et la résolution de symboles dans les liaisons :
d:BindingContext
est utiliséPicker.ItemDisplay
dans Xamarin.FormsRelativeSource
dans Xamarin.FormsScrollViewer
ItemsSource
est utilisé en tant qu'élément imbriquéTreeView.ItemContainerStyle
Dans les projets UWP, nous avons ajouté la prise en charge des éléments suivants :
CustomResource
Les correctifs supplémentaires incluent la prise en charge de :
URN
(Uniform Resource Name) dans la définition d'un schéma d'espaces de noms XML personnalisé x:Static
pour AvaloniaÀ compter de ReSharper 2020.1, vous pouvez exporter et importer n'importe laquelle de vos Sessions de Tests Unitaires. Cela vous permet de les partager avec votre équipe, entre vos ordinateurs ou entre plusieurs branches, lorsque vous modifiez quelque chose dans le code et que vous souhaitez exécuter ou couvrir le même ensemble de tests unitaires pour les deux branches.
De plus, pour éviter de perdre les Sessions de Tests Unitaires ouvertes et fermées, celles qui ont déjà été créées sont conservées après la mise a niveau vers a une nouvelle version majeure de ReSharper.
Vous l'avez demandé et nous vous l'offrons ! La grille comporte de nouvelles lignes pour les commentaires. Vous pouvez désormais laisser un commentaire (ou en modifier un existant) pour toute valeur provenant de fichiers de ressources directement à l'intérieur de la grille. Vous pouvez également exporter et importer ces commentaires. Si vous n'utilisez pas les commentaires ou si vous n'en avez pas besoin pour le moment, vous pouvez les masquer en cliquant sur l'icône Show/Hide comments.
En dehors de cela, nous avons implémenté plusieurs correctifs de performances qui accélèrent le chargement et le filtrage de la grille, éliminent certains blocages de l'interface utilisateur et facilitent le défilement.
Il convient également de mentionner les nombreuses améliorations apportées à l'expérience utilisateur :
La mise en forme du code apporte de nouveaux paramètres qui incluent la virgule de fin pour les styles de code C#. Vous les trouverez sous ReSharper | Options | Code Editing | C# | Code Style | Trailing comma, et ils sont également compatibles avec l'inspection StyleCop SA1413 (sauf dans un très petit nombre de cas particuliers).
La norme C++ 20 a presque été approuvée et ReSharper C++ étend sa prise en charge à la dernière norme. Plusieurs nouvelles fonctionnalités de langage sont désormais prises en charge, notamment les espaces réservés de types contraints, les modèles de fonction abrégés et l'utilisation des déclarations using enum. De plus, ReSharper C++ propose un correctif rapide pour mettre à jour une déclaration de lambda avec la syntaxe du modèle C++ 20 et une refactorisation pour introduire facilement les déclarations using enum.
Avec les mises à jour de sa prise en charge d'Unreal Engine, ReSharper C++ 2020.1 améliore la refactorisation Rename et introduit la prise en charge des fichiers USF et du GDK SpatialOS avec des chemins d'accès aux fichiers virtuels. ReSharper C++ adhère également plus étroitement aux directives Unreal Engine en supprimant l'inspection Use auto et en respectant les conventions de nommage des variables de console et des catégories de journaux.
ReSharper C++ 2020.1 propose une prise en charge initiale pour HLSL. Même à ce stade précoce, cette prise en charge comprend une variété de fonctionnalités, de la mise en évidence basique du code à sa saisie semi-automatique du code en passant par la navigation rapide.
Vous pouvez maintenant naviguer dans l'arborescence des appels à l'aide de l'action Next Important Call. Appuyez sur Ctrl+Shift+Right et dotTrace vous amène vers un nœud parmi les plus pertinents pour une analyse plus approfondie (par exemple, un nœud avec un temps d'exécution propre élevé).
La fonctionnalité est disponible dans dotTrace Standalone (Performance Viewer et Timeline Viewer), dans Visual Studio, et dans JetBrains Rider.
Cette version apporte une meilleure prise en charge des fonctionnalités du langage C # :
Essai gratuit sur 30 jours disponible