Prise en charge de Docker
Ajout de la prise en charge de Docker
L'ajout de la prise en charge de Docker à un projet dans Rider est désormais plus facile : vous pouvez générer le Dockerfile lors de la création d'un nouveau projet. Sélectionnez simplement Docker Support dans la boîte de dialogue New project si vous choisissez ASP.NET Core Web Application, Worker Service ou Console Application.
Si vous voulez ajouter un Dockerfile à un projet existant, utilisez Add | Docker Support dans le menu contextuel d'un projet dans la fenêtre d'outils Solution Explorer.
Dockerfile
Rider peut maintenant exécuter directement les Dockerfiles générés par Visual Studio. Vous n'avez aucune action à effectuer dans le Dockerfile pour le rendre compatible avec Rider.
Prise en charge de C#
Ajout de modèles de fusion
L'inspection Merge into pattern peut maintenant traiter beaucoup plus de schémas de code. Vous pouvez :
- fusionner les vérifications de valeurs null avec les autres vérifications dans un seule vérification de pattern ;
- réécrire les contrôles des expressions conditional?.Access dans la reconnaissance de schémas imbriquée ;
- réduire l'imbrication d'instructions if en fusionnant les vérifications ;
- et enfin, fusionner les patterns dans un simple pattern de déconstruction var (a,b) en les développant dans un formulaire complet.
Prise en charge de C# 9.0 étendue
JetBrains a amélioré la prise en charge des enregistrements C# 9.0.
- Les refactorisations Extract interface et Extract superclass fonctionnent maintenant avec les déclarations d'enregistrements, tout comme File Layout et les fonctionnalités liées à la documentation XML.
- JetBrains a ajouté plusieurs nouvelles inspections et actions. Redundant explicit property declaration pour les propriétés dans les déclarations d'enregistrements peut être utile lors de la migration du code pour utiliser des enregistrements avec des paramètres positionnels et des déclarations de propriétés implicites. Un correctif rapide correspondant, Remove explicit property, est inclus.
- Il y a aussi de quoi garder les choses en ordre : l'inspection Redundant 'record' type declaration body et le correctif rapide correspondant remplaceront le corps vide de la déclaration de type d'enregistrement par un point-virgule.
- Si vous décidez de convertir un enregistrement en classe, l'action To class se chargera des paramètres positionnels et du constructeur primaire. Il y a une action To record qui fonctionne aussi dans le sens inverse.
- Pensez à utiliser l'action contextuelle To explicit constructor lorsque vous devez réécrire des paramètres positionnels et un constructeur primaire en propriétés ordinaires, constructeur et méthode Deconstruct() explicite.
- Find usages recherche désormais les utilisations du constructeur primaire d'un enregistrement et les utilisations d'une méthode Deconstruct() implicite.
Convertir une variable temporaire en variable inline
JetBrains introduit une nouvelle inspection : Inline temporary variable. Parfois, vous vous retrouvez à utiliser la même valeur à maintes reprises sous différents noms dans votre programme. Il est possible de rendre ce genre de code plus transparent, et Rider peut vous y aider. Il peut même vous aider à trouver des bugs si la variable temporaire était censée être initialisée par une autre valeur ou mutée plus tard dans le code.
Renommer dans les tuples
Les tuples nommés sont présents depuis C# 7, mais le renommage des composants restait une opération manuelle. Désormais, vous pouvez faire appel à la refactorisation.
Autres ajouts
Les patterns logiques not peuvent vous aider à rendre vos vérifications de types beaucoup plus faciles à lire. Rider permet d'abandonner la syntaxe !() au profit d'un schéma not. En ce qui concerne la prise en charge de C# 10.0, JetBrains a appris à Rider à travailler avec la fonctionnalité d'interpolation constante des chaînes.
Notons encore que Rider suggère désormais d'utiliser l'opérateur de plage au lieu de Slice et Substring, si cela simplifie le code. L'inspection Namespace does not correspond to file location est désormais supprimée dans les fichiers contenant du code de niveau supérieur. Et une autre nouvelle inspection vérifie si une propriété automatique peut être remplacée par une propriété calculée, avec un correctif rapide pour effectuer le remplacement.
Développement web
Génération de modèles pour ASP.NET
Il y a de bonnes nouvelles pour les développeurs qui travaillent avec ASP.NET MVC, ASP.NET Web API, ou Razor Pages. JetBrains a ajouté un mécanisme de génération de modèles pour les projets ASP.NET Core. Rider prend en charge la génération de modèles pour Areas, Controllers, Razor Pages, Views, and Identity, y compris la génération de code source standard pour toutes les opérations CRUD pour utiliser Entity Framework. Cette fonctionnalité est disponible sous Windows, Linux et macOS.
Modèles de route ASP.NET Core
Les modèles de route sont largement utilisés dans les applications MVC pour configurer la manière dont les requêtes HTTP sont associées aux points de terminaison exécutables de l'application. Dans la version 2021.1, Rider introduit la prise en charge des modèles de route. L'EDI fournit maintenant la saisie semi-automatique du code, la navigation structurelle, des inspections et des correctifs rapides. Cela comprend :
- des inspections pour vérifier les erreurs de syntaxe HTTP ;
- des inspections et des correctifs rapides pour vérifier/corriger les problèmes de paramètres de routes ;
- des inspections pour les contraintes de route.
Supprimer des fichiers avant publication
La possibilité de supprimer des fichiers dans le dossier avant publication est maintenant disponible. Cela peut vous éviter de vous retrouver avec des données obsolètes, par exemple lorsque vous déplacez des fichiers. Veuillez noter que si cette option est activée, Rider nettoiera complètement l'emplacement cible.
Documentation MDN intégrée
La documentation MDN est maintenant intégrée à Rider. Cela permettra d'éviter les problèmes de connectivité avec le site web de MDN et d'accélérer l'affichage de la documentation intégrée à l'éditeur dans vos fichiers HTML, CSS et JavaScript. La documentation intégrée à l'éditeur sera également plus complète. Par exemple, des détails sur les versions des navigateurs prises en charge pour les API JavaScript seront disponibles).
Amélioration de la prise en charge de Stylelint
Il est maintenant plus facile d'inspecter votre code CSS avec Stylelint. Vous pouvez désormais corriger les problèmes avec ce linter populaire en quelques clics. Survolez un problème dans votre fichier ou placez le curseur dessus et appuyez sur Alt+Entrée, puis sélectionnez Stylelint: Fix current file.
Par ailleurs, vous pouvez spécifier un chemin d'accès au fichier de configuration dans Preferences / Settings | Languages & Frameworks | Style Sheets | Stylelint.
Spécificité des sélecteurs pour CSS
Lorsque vous travaillez avec des feuilles de style, vous pouvez désormais vérifier la spécificité de vos sélecteurs, en passant simplement la souris sur un sélecteur que vous souhaitez étudier. Vous pouvez également cliquer sur un sélecteur et appuyer sur F1/Ctrl+Q pour voir ces informations dans la fenêtre contextuelle Documentation.
Aperçu HTML
JetBrains a ajouté un nouvel aperçu intégré au navigateur qui vous permet de prévisualiser rapidement des fichiers HTML. Pour ouvrir l'aperçu, cliquez sur l'icône avec le logo Rider du widget dans le coin supérieur droit de l'éditeur.
Débogueur
Se connecter aux processus sur l'écran d'accueil
Vous pouvez désormais vous connecter à un processus .NET directement depuis l'écran d'accueil. Pas besoin d'ouvrir une solution avec le code source au préalable. Sélectionnez l'onglet Attach to process sur l'écran d'accueil, choisissez le processus .NET dont vous avez besoin dans la liste et Rider commencera à le déboguer.
Conseils interactifs pour le débogueur
Rider dispose désormais de conseils interactifs pour le débogueur. Les conseils de l'éditeur vous montrent non seulement ce qui se passe, mais vous permettent également d'intervenir dans le processus de débogage et d'interagir avec le débogueur grâce aux conseils de débogage. Cliquez sur le conseil et sélectionnez Set Value pour entrer en mode interactif. Vous pouvez saisir des données brutes ou utiliser d'autres valeurs à l'aide de la saisie automatique. Des raccourcis sont également disponibles. Vous pouvez activer les conseils du débogueur avec le paramètre Show values inline dans Settings | Build, Execution, Deployment | Debugger | Data Views.
Autres mises à jour du débogueur
- JetBrains a ajouté une option pour afficher les données brutes d'un objet si sa représentation a été modifiée avec un attribut DebuggerBrowsable ;
- une option permettant de montrer tous les membres générés par le compilateur pendant le débogage est également proposée ;
- le contenu des processus de débogage à distance s'affiche désormais correctement sous macOS ;
- JetBrains a ajouté la prise en charge de l'évaluation des propriétés automatiques lorsque cette évaluation est impossible (par exemple, si le code est optimisé ou un thread n'est pas à un point sûr du ramasse-miettes).
Développement de jeux
Unity
Rider 2021.1 s'appuie sur plusieurs des fonctionnalités innovantes que Rider fournissait déjà pour Unity afin de vous donner plus d'informations utiles pour vos projets Unity. Où Unity utilise-t-il votre code dans les ressources ? Quels sont les chemins de code essentiels aux performances appelés par Update à chaque image ? Comment pouvez-vous mieux déboguer, tester et assurer la couverture de votre code ?
Rider peut vous indiquer où Unity utilise votre code dans les scènes, les ressources et les prefabs, en mettant en évidence les utilisations directement dans l'éditeur Unity. Rider 2021.1 étend cette prise charge aux ressources d'animation et affiche l'utilisation de propriétés et de méthodes en tant que callbacks d'animation.
Rider fournit la saisie semi-automatique du code et la validation pour les magic strings de Unity. Il prend déjà en charge les balises, les noms de couche, les scènes et les coroutines, et Rider 2021.1 ajoute la prise en charge des valeurs d'état d'animation.
Les versions précédentes de Rider mettaient en évidence les méthodes dont les performances étaient critiques, qui étaient fréquemment appelées, ou compilées avec Burst, mais la raison n'était pas toujours évidente. Rider 2021.1 ajoute des éléments de menu pour afficher toutes les méthodes appelées dans le chemin réactif jusqu'à une méthode Update, ou retracer les appels sortants pour finalement atteindre une API Unity coûteuse connue. Pour les méthodes compilées par Burst, Rider vous montrera le chemin à travers toutes les méthodes appelées jusqu'au début du contexte Burst.
Rider fournit déjà une prise en charge étendue du débogage pour les projets Unity, en vous montrant l'objet Active Scene, ainsi qu'en ajoutant des objets et composants de jeu enfants à la vue du débogueur. Rider 2021.1 aide également à déboguer les instances SerializedProperty. Les champs non pertinents sont masqués par défaut, seules les valeurs pertinentes pour le type de propriété sont affichées. Vous pouvez facilement voir les propriétés enfants et toutes les données sérialisées.
Rider a étendu sa prise en charge des tests unitaires Unity pour inclure la couverture de code des tests du mode Play. Vous pouvez découvrir, exécuter, déboguer et afficher la couverture de code des tests Unity en mode édition et en mode play, sans quitter l'éditeur de code.
Cette version apporte aussi beaucoup d'autres modifications et corrections, notamment une meilleure gestion des fichiers meta, une amélioration des performances lors de l'ajout d'entrées de journal dans la fenêtre d'outils Unity et un meilleur regroupement des modèles de fichiers liés à Unity.
Godot
Le plugin Godot Support for Rider a également été mis à jour. Il prend désormais en charge l'exécution de tests unitaires NUnit directement dans le processus de jeu afin de s'assurer que tout fonctionne comme prévu. En suivant certaines instructions, vous pouvez commencer à utiliser cette fonctionnalité dans votre jeu dès aujourd'hui.
Unreal Engine
Rider for Unreal Engine est encore au stade de preview publique et sa publication aura lieu plus tard en 2021. Vous pouvez tester la version preview gratuitement jusqu'à la sortie officielle.
Le Cast d'Unreal Engine pour le casting dynamique à type sécurisé est maintenant disponible en tant que modèle postfix dans la saisie semi-automatique. Rider prend également en charge une autre macro de réflexion spécifique à Unreal Engine : RIGVM_METHOD.
JetBrains a introduit une prise en charge initiale pour Unreal Engine 5 avec des correctifs intuitifs basés sur les retours reçus de l'équipe d'Epic Games. Du côté de C++, l'entreprise a ajouté Include et Type Hierarchies, ainsi que la prise en charge de Google Test et de quelques autres frameworks de tests unitaires.
Contrôle de version
Améliorations des requêtes pull
- La vue requête pull dispose désormais d'une liste déroulante avec tous les référentiels disponibles pour le projet en cours.
- La création de requêtes pull est maintenant plus simple : il suffit de cliquer sur l'icône « + » ou d'aller dans Git | GitHub | Create Pull Request. L'EDI ouvre un formulaire vous invitant à indiquer les détails de la requête dans la vue Pull Requests.
- Dans l'onglet Info, vous pouvez sélectionner le référentiel principal et sa branche, saisir un titre et une description de requête pull, désigner des réviseurs et des responsables et ajouter des libellés descriptifs.
- La version 2021.1 prend en charge les modèles de requêtes pull. Vous pouvez ajouter le fichier pull_request_template.md avec la description de la requête à votre projet et chaque fois que vous créerez une requête, cette description apparaîtra dans celle-ci.
Save to Shelf
Dans la version 2021.1, JetBrains a ajouté l'action Save to Shelf, qui vous permet de copier vos modifications et de les mettre de côté tout en les conservant dans les modifications locales afin de pouvoir y revenir plus tard. Vous pouvez accéder à cette action via des raccourcis ou en tapant « Save to Shelf » dans la fenêtre contextuelle Search Everywhere.
Récupérer un fichier d'une autre branche
Il est maintenant possible de copier un fichier à partir d'une autre branche dans la boîte de dialogue Compare with branch. Pour ce faire, sélectionnez le fichier que vous souhaitez copier et cliquez sur la nouvelle icône en forme de flèche vers le bas située à côté de Show diff.
Interface/Expérience utilisateur
Solution Explorer
Rider sauvegarde désormais l'état de Solution Explorer entre la fermeture et l'ouverture de l'EDI, y compris les nœuds ouverts. Vous n'avez plus à développer les nœuds manuellement chaque fois que vous rouvrez une solution ou que vous redémarrez l'EDI.
Onglets de l'éditeur divisés verticalement
Lorsque plusieurs onglets d'éditeur divisés verticalement sont ouverts, vous pouvez maintenant agrandir la fenêtre de l'éditeur pour chacun d'eux ; pour ce faire, il vous suffit de double-cliquer sur les onglets.
Boîtes de dialogue de sélection de dossier
JetBrains a retravaillé la boîte de dialogue de sélection des dossiers sous Windows. Maintenant, vous ne verrez que les dossiers que vous pouvez sélectionner.
Solutions récentes dans la barre des tâches
Vous pouvez désormais accéder à vos projets récents sous Windows en faisant un clic droit sur l'icône Rider dans la barre des tâches ou dans le menu Démarrer.
Nouveaux dialogues modaux
La nouvelle interface de dialogues modaux de macOS Big Sur est désormais prise en charge.
Gestionnaire de boîte à outils pour Windows Forms
Le gestionnaire de boîte à outils pour le concepteur Windows Forms a fait l'objet d'une refonte complète. La partie gauche de la fenêtre affiche la liste de toutes les bibliothèques de contrôles, qu'il s'agisse de bibliothèques du système ou de bibliothèques tierces, regroupées par fournisseur de contrôles. Lorsque vous sélectionnez une bibliothèque dans la liste, vous pouvez sélectionner des contrôles spécifiques dans le volet central. Seuls ces derniers seront affichés dans la boîte à outils afin de garder la liste propre. Le volet de droite montre les métadonnées pour un contrôle sélectionné.
Si vous avez beaucoup de contrôles dans une bibliothèque alors que n'avez besoin que d'un contrôle spécifique, ce n'est pas un problème. La nouvelle recherche dans le volet central réduit la liste des contrôles et met en évidence la sous-chaîne recherchée dans la liste des résultats. Enfin, il y a de nouveaux compteurs en bas qui indiquent combien de composants seront retirés ou ajoutés à la boîte à outils lors de la sauvegarde. Vous ne vous sentirez pas perdu avec ce qui sera fait après avoir cliqué sur le bouton Apply.
Éditeur
Documentation rapide
La mise en évidence des éléments de syntaxe est disponible dans la fenêtre Quick Documentation pour fournir la même mise en évidence que celle que vous voyez dans l'éditeur de code. De plus, la documentation rapide d'un symbole s'affiche désormais au survol de la souris.
Poids de la police
Le choix d'une police qui vous convienne parfaitement pour de longues heures de codage est crucial. Les paramètres de typographie récemment ajoutés vous permettent de personnaliser le style de police. Dans la v2021.1, vous pouvez paramétrer le poids pour la police par défaut et la police grasse dans Preferences / Settings | Editor | Fonts.
Aperçu XAML
JetBrains a amélioré son outil d'aperçu XAML, un mécanisme de retour d'information essentiel pour les développeurs WPF et XAML.
Rider place désormais l'outil d'aperçu XAML au sein même de la fenêtre de l'éditeur, ce qui vous permet de naviguer entre de nombreuses options d'orientation et de mise en page. Vous pouvez modifier l'orientation de l'outil d'aperçu pour qu'il soit séparé verticalement ou horizontalement de l'éditeur. L'élément ciblé sera désormais mis en évidence afin de vous aider lorsque vous essayez de trouver un élément spécifique dans une interface utilisateur complexe.
L'outil vous permet désormais de cliquer sur les instances TabItem. Cet ajout améliore considérablement l'expérience de création d'interface utilisateur à onglets multiples.
Styles de code
Mise en forme et styles de code
JetBrains a ajouté quelques nouveaux paramètres :
- vous pouvez maintenant choisir de mettre un espace avant et dans les parenthèses de la cible new() ;
- vous pouvez spécifier le retour à la ligne avant l'opérateur d'affectation ;
- vous pouvez ajouter un retrait négatif aux déclarations d'étiquettes.
Pour les règles de nommage personnalisées, les règles les plus spécifiques sont désormais appliquées en premier. Et enfin, JetBrains a ajouté une nouvelle action Reindent only pour la mise en forme de la sélection. Vous pouvez maintenant demander à Rider de n'ajuster les retraits que pour le code sélectionné au lieu d'effectuer tout le processus de reformatage.
EditorConfig
EditorConfig est de plus en plus populaire dans la communauté .NET et JetBrains continue à améliorer l'intégration de l'outil avec Rider. Les améliorations suivantes ont été apportées :
- JetBrains a amélioré la façon dont Rider lit les paramètres des règles de nommage à partir d'EditorConfig et celle dont il écrit les règles de nommage définies par l'utilisateur dans EditorConfig ;
- si les règles de nommage sont redéfinies dans EditorConfig, Rider affiche une notification sur la page des paramètres de nommage ;
- JetBrains a ajouté la prise en charge de l'option csharp_indent_case_contents_when_block dans EditorConfig.
Prise en charge de F#
JetBrains a ajouté une nouvelle refactorisation Inline Variable pour les liaisons let. En outre, Rider peut désormais calculer un niveau de langage autorisé en fonction du projet et du compilateur utilisés dans un build et suggérer des améliorations pour améliorer et mettre à jour votre code F#.
Un nouvel analyseur et correctif rapide To Interpolated String permet de convertir un format de chaîne de style printf en une chaîne interpolée F# 5.
L'analyse des parenthèses redondantes et le correctif rapide correspondant vous aideront à maîtriser les parenthèses dans les patterns, les types et les expressions simples. JetBrains étendra la prise en charge pour couvrir davantage de cas d'expressions dans les prochaines versions.
La prise en charge de F# a également été étendue avec de nombreux autres correctifs rapides, refactorisations et améliorations.
Intégration de Space
Le plugin Space est maintenant disponible pour Rider. Vous pouvez vous connecter à votre organisation dans JetBrains Space via la commande Get from VCS située à droite sur l'écran de bienvenue. Une fois connecté·e, vous pouvez consulter et cloner les référentiels de projets, réviser le code des autres membres de votre équipe et écrire des scripts Space Automation.
Prise en charge des bases de données
Interface utilisateur pour les autorisations
JetBrains a ajouté une interface utilisateur pour l'édition des permissions lors de la modification des objets. La fenêtre Modify user, que vous pouvez appeler sur un utilisateur dans l'explorateur de base de données avec Ctrl+F6, dispose désormais d'une interface utilisateur pour ajouter des autorisations aux objets. Cette fonctionnalité est disponible pour PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server et Sybase.
Les fonctions du système peuvent être utilisées sans qualification (SQL Server)
Les fonctions et procédures du système ne sont plus mises en évidence comme des erreurs lorsqu'elles sont utilisées sans qualification. La navigation et la saisie semi-automatique fonctionnent maintenant pour les fonctions et procédures du système.
Autres mises à jour
NuGet Smart Restore on a build
JetBrains a implémenté la case à cocher NuGet Smart Restore on a build. Elle permet d'effectuer une restauration sur une action de build lorsque l'heuristique détecte qu'une restauration externe a été effectuée. Pour désactiver ce paramètre, aller dans Settings/Preferences | Build, Execution, Deployment | NuGet | Smart Restore on Build.
Construire en parallèle sur Mono
Rider prend désormais en charge la construction en parallèle sur les versions récentes de Mono. Vous pouvez l'activer dans Settings | Build, Execution, Deployment | Toolset and Build.
Dépendances externes dans Find in Files
Vous pouvez maintenant configurer la manière dont Rider doit gérer les dépendances externes lors de la recherche de texte. Dans la boîte de dialogue Find in Files, sélectionnez Scope et cliquez sur le bouton « … ». La fenêtre Scope s'ouvre et vous pouvez voir si les dépendances externes (External Dependencies) sont incluses. Utilisez les boutons de droite pour modifier le paramètre.
Prise en charge du format JSON Lines
Rider désormais en charge le format JSON Lines délimité par un retour à la ligne, qui est utilisé pour travailler avec des journaux et des données structurées. L’EDI reconnaît les types de fichiers .jsonl, .jslines, .ldjson et .ndjson. Les fichiers dans ces formats contiennent plusieurs lignes et chaque nouvelle ligne est un objet JSON séparé par un caractère de nouvelle ligne. Les virgules ne sont pas requises au début ni à la fin des lignes et il n'est pas non plus nécessaire de placer l'intégralité du contenu du fichier entre crochets ou accolades.
Nouveautés et téléchargement de Rider 2021.1