Vue des problèmes
Avoir tous les problèmes potentiels pour une solution en un seul endroit peut être utile, c'est pourquoi JetBrains introduit la « Vue Problèmes ». La vue des problèmes (l'onglet « Problèmes » dans l'interface utilisateur de Rider) est une fenêtre d'outil qui regroupe tous les problèmes potentiels qui existent dans une solution, tels que les erreurs de chargement de projet, les échecs de processus de restauration NuGet, les inspections à partir du fichier ouvert et toutes erreurs SWEA.
La fenêtre d'outil se compose de trois onglets :
- Current file : ici, vous pouvez trouver toutes les erreurs, avertissements, suggestions et astuces que l'analyse du code Rider a trouvées dans le fichier que vous consultez actuellement. Cela fonctionne de la même manière que dans IntelliJ IDEA - le widget Inspection situé en haut de la barre de défilement verticale mène directement à cet onglet.
- Toolset, Environment : il regroupe tous les diagnostics et messages liés aux activités de chargement de la solution, aux processus de restauration NuGet, etc. avec une description appropriée et une liste correspondante de correctifs, le cas échéant. Vous pouviez auparavant trouver la plupart des mêmes messages de diagnostic dans la fenêtre de l'outil Journal des événements.
- All Solution Files : il s'agit de la nouvelle page d'accueil de la fenêtre d'outil SWEA. Ici, vous pouvez voir toutes les erreurs que l'analyse (Solution Wide Error Analysis) a trouvées dans l'ensemble de la solution.
Prise en charge du SDK .NET 6
À partir de cette version EAP, Rider fournit officiellement une prise en charge initiale du SDK .NET 6, y compris des modèles de projet, des frameworks cibles et des projets de création/exécution/débogage ciblés sur le nouveau SDK. Veuillez noter que la fonctionnalité de rechargement à chaud et le débogage Blazor pour .NET 6 ne sont pas encore pris en charge.
Nouvelle interface utilisateur pour l'onglet Debug
Une nouvelle interface utilisateur arrive dans l'onglet Debug. JetBrains a introduit beaucoup de changements. Par défaut, il existe trois onglets : Threads & Variables, Console et Debug Output. D'autres onglets tels que Memory et Parallel Stacks sont masqués, mais vous pouvez les afficher via le menu Options.
JetBrains a complètement supprimé la barre d'outils de gauche et déplacé les icônes vers la barre d'outils supérieure ou le menu contextuel. Pour garder la barre d'outils supérieure aussi courte que possible, l'éditeur de logiciels pour développeurs a réorganisé le jeu d'icônes et laissé uniquement les actions les plus importantes visibles. Le reste des icônes a été déplacé vers le menu déroulant Plus (icône à trois points verticaux). L'icône Hide Frames from Libraries et la bascule Hide/Show Threads ont été déplacées vers le menu contextuel de la vue Threads.
Le menu déroulant Plus a un nouveau sous-menu Paramètres. Ici, vous pouvez trouver une liste restreinte des paramètres les plus courants liés au débogueur sans avoir à accéder à la boîte de dialogue Paramètres/Préférences et à explorer en détail les éléments de la page Build, Execution, Deployment | Debugger.
La fenêtre Immediate a également plusieurs mises à jour :
- Add Watch a été déplacé de la vue Variables vers la barre d'outils de la fenêtre Immediate.
- Il existe deux dispositions : maximisée et minimisée. Dans la mise en page réduite, vous pouvez voir le résultat de l'exécution uniquement dans la variable $result de la vue Variables. Dans la mise en page maximisée, en plus de la variable $result, vous pouvez voir l'historique des lignes précédemment exécutées avec les résultats des exécutions. Vous pouvez basculer entre eux à l'aide de l'icône Développer/Réduire.
- Une nouvelle option, Stop on Breakpoints, est disponible. Elle force le processus d'évaluation à s'arrêter sur les points d'arrêt lors de l'évaluation d'une expression. La désactivation de l'option permettra au processus d'évaluation d'ignorer les points d'arrêt.
- L'action Add Watch dispose désormais d'un raccourci, Ctrl+Maj+Entrée.
Mises à jour du débogueur
Le débogueur lui-même a reçu quelques fonctionnalités très attendues et très demandées.
Tout d'abord, il y a une bonne nouvelle pour les développeurs UWP : vous pouvez tout de suite démarrer votre projet UWP sous le débogueur. Vous n'avez plus besoin d'exécuter le projet en premier, puis d'attacher manuellement le débogueur au processus en cours.
En plus, vous pouvez désormais déboguer les applications .NET (Core) et .NET Framework dans des conteneurs Windows Docker locaux. Auparavant, le débogueur ne pouvait fonctionner qu'avec les applications .NET Core dans les conteneurs Linux Docker.
Support de langage
C#10
C# 10 approche à grands pas et Rider continue d'ajouter certaines des fonctionnalités à venir. Aujourd'hui, on note la prise en charge des espaces de noms à portée de fichier et des usings globales.
Commençons par les espaces de noms à portée de fichier. En plus de prendre en charge la nouvelle syntaxe elle-même, JetBrains a ajouté une nouvelle option de style de syntaxe (Settings/Preferences | Editor | Code Style | C# | Syntax Style | Code body | Namespaces) qui vous aide à sélectionner le style souhaité. Lorsque vous choisissez le style, Rider vous montrera des inspections pour le code qui doit être modifié pour suivre le style et suggérera le correctif rapide approprié pour vous. Vous pouvez propager le correctif dans le projet ou même dans l'ensemble de la solution en un clic.
Si vous souhaitez revenir au style de syntaxe précédent pour le code, il existe deux actions contextuelles : « Convert to file-scoped namespace » et « Convert to block-scoped namespace ».
Jetons maintenant un coup d'œil rapide aux usings globales. L'analyse du code Rider reconnaît les usings marquées du mot-clé global et utilise ces usings pour résoudre correctement les symboles dans tous les fichiers de code du projet. Si Solution Wide Error Analysis est activé, Rider mettra en évidence les usings globales qui n'ont aucune utilisation dans le projet comme inutilisées avec une suggestion de correctif rapide appropriée pour supprimer la déclaration. Rider vous avertira également si le using global a été placé au mauvais endroit dans le fichier.
Analyse de code
Il n'est pas rare que les gens copient des morceaux de code à partir d'autres ressources, comme stackoverflow.com. De nos jours, avec des types de référence nullables disponibles en C#, certains des exemples de code incluent déjà la syntaxe NRT. Mais que faire si vous n'avez pas activé la NRT dans votre solution ? Pour vous aider à vous débarrasser de cette syntaxe après avoir collé un tel code dans votre projet, Rider propose deux nouveaux correctifs rapides : "Replace with JetBrains.Annotations attributes" et "Remove nullable annotations without ‘#nullable’ context".
JetBrains a ajouté quelques nouveaux correctifs rapides et une action contextuelle pour les fonctions statiques locales/anonymes avec closures :
- Un correctif rapide, "Allow closures", pour supprimer les modificateurs static d'une fonction locale ou anonyme si elle contient des closures.
- Un correctif rapide, "Pass closure as a parameter", déplacer passer les closures dans les fonctions locales static en paramètres.
- Une action contextuelle, "Pass closure as a parameter", pour passer les closures dans les fonctions locales non-static en paramètres.
Il existe une nouvelle inspection, "Simplify string interpolation", avec un correctif rapide correspondant pour remplacer les appels de méthode .PadLeft() et .PadRight() avec des espaces réservés de chaînes interpolées par une expression d'alignement.
En plus d'ajouter de nouveaux correctifs rapides, JetBrains a considérablement amélioré les performances du démon pour les fichiers contenant d'énormes méthodes :
- Méthodes avec des expressions conditionnelles volumineuses/imbriquées, des expressions de tuple ou des expressions Switch.
- Méthodes avec beaucoup de vérifications de type lorsque les types de référence nullables sont désactivés.
- Méthodes avec beaucoup d'accès à l'indexeur lorsque les types de référence nullables sont activés.
- Méthodes avec un grand nombre de closures lorsque les types de référence nullable sont activés.
Désormais, l'analyse du code est terminée plus rapidement pour de tels fichiers.
Meilleure prise en charge des injections SQL
Dans cette version, JetBrains a amélioré la prise en charge des injections SQL. L'éditeur prend désormais en charge de nombreux cas courants dans lesquels vous écrivez du code SQL directement dans le code C# :
Les chaînes de requête SQL sont correctement résolues pour les méthodes string.Format, les interpolations de chaînes et les concaténations de chaînes simples.
Il n'y a plus d'erreurs sur une variable SQLParameter pour les paramètres à l'intérieur des chaînes de requête SQL lors de l'utilisation du dialecte Microsoft SQL Server ou de la bibliothèque Dapper.
Prise en charge d'Unity
JetBrains a apporté quelques petites corrections pour la prise en charge d'Unity dans cette version EAP, et a ajouté une petite fonctionnalité intéressante pour afficher le contenu de l'attribut [Tooltip] d'un champ sérialisé dans l'éditeur sous forme d'info-bulle. Il existe également une action contextuelle Alt + Entrée pour convertir un résumé de la documentation XML en un attribut [Tooltip], afin que vous puissiez voir vos documents XML dans Unity Inspector. Il y a plus à venir dans les futures EAP.
Prise en charge des puces Apple Silicon
Il y a quelque temps, JetBrains a lancé un aperçu de la version Rider « Apple Silicon Edition », qui fonctionne nativement sur les ordinateurs Mac équipés de processeurs Apple Silicon. À partir de cette version EAP, ce support est inclus dans le Rider standard et sera fourni dans le cadre du programme d'accès anticipé et des pipelines de versions de JetBrains. La première version EAP utilise les environnements d'exécution suivants :
- Le JBR (JetBrains Runtime) compatible avec Apple silicon pour le frontend.
- Le .NET6 RC1 pour le backend.
Propriétés de projet et solution
Voyons maintenant les nouveautés de la boîte de dialogue Paramètres du projet :
- Tout d'abord, cous pouvez spécifier une icône d'application dans la section Ressource de la page Application.
- Il existe également une nouvelle page Build Events pour spécifier les commandes à exécuter avant et après la génération.
- La page Inspections obtient plusieurs propriétés de projet liées à l'analyse de code.
- Vous pouvez configurer des chemins de référence pour un projet sur la page Reference Path.
- La boîte de dialogue Solution Properties a une nouvelle colonne Dépendances dans le tableau pour spécifier les dépendances de build pour chaque projet.
Nouveautés et téléchargement de Rider 2021.3 EAP