Rider 2020.2 fournit plusieurs fonctionnalités très demandées, telles que le Localization Manager et la prise en charge de Shader dans notre intégration Unity. Nous avons complètement retravaillé l'outil d'exécution des tests unitaires et l'API du débogueur pour en améliorer la rapidité, la puissance et la stabilité. Cette version apporte également une meilleure prise en charge de C#, des points d'arrêt de données et une prise en charge complète des requêtes pull GitHub.
Cette version apporte une nouvelle API de débogage, qui a été en grande partie réécrite. Cela n'est pas visible dans l'interface utilisateur, mais elle permet la prise en charge de nouvelles fonctionnalités et une connexion des plugins au processus de débogage plus efficace que jamais auparavant. Cela inclut l'amélioration des calculs de valeurs super tardives avec une meilleure interruption et des représentations des valeurs personnalisées. Seul détail visible de l'extérieur : les fenêtres d'outils de débogage affichent des icônes correctes pour toutes les variables.
Les points d'arrêt des données sont utiles si vous devez vous concentrer sur les propriétés d'un objet particulier. Ils s'utilisent généralement dans des scénarios où vous savez ce qui va changer, mais ne savez pas d'où vient le changement dans votre base de code. Ils seront accessibles depuis la fenêtre d'outils Watch et fonctionneront même avec des éléments de tableaux. En raison des limitations actuelles de la plateforme, cette fonction ne sera probablement possible que pour .NET Core 3+ sous Windows.
Dans Rider 2020.2, nous inaugurons Pin-To-Frame, qui vous permet d'épingler des valeurs entre les cadres. Vous pouvez épingler des paramètres pour une fonction et les consulter dans la liste des cadres de pile. Lors du débogage des fonctions récursives, cela vous permet de surveiller l'état des valeurs dans différentes itérations.
Le Localization Manager est maintenant disponible dans Rider pour vous aider à localiser votre application .NET ou votre site Web. Vous pouvez y accéder en utilisant le menu Tools ou en double-cliquant sur un fichier .resx.
Il vous permet de visualiser tout le contenu de tous les fichiers .resx
de votre projet, ou d'une sélection de fichiers spécifiée, dans un même tableau.
Vous pouvez facilement trouver toutes les ressources dans lesquelles il manque des valeurs localisées ou qui ne sont tout simplement pas utilisées.
Vous pouvez ajouter, modifier, renommer, rechercher, trouver des utilisations et supprimer les ressources localisées en toute sécurité.
Vous pouvez facilement ajouter une nouvelle culture à votre application à l'aide de la liste prédéfinie de cultures en cours d'achèvement ou masquer les paramètres régionaux dont vous n'avez pas besoin pour le moment.
Vous pouvez exporter l'ensemble du tableau au format CSV pour le partager avec des traducteurs et réimporter la version finale dans le Localization Manager.
Vous pouvez ajouter et modifier des commentaires pour n'importe quelle entité à partir de fichiers de ressources directement dans le tableau, et exporter et importer ces commentaires.
Vous pouvez afficher toute la structure des fichiers .resx
dans votre solution selon différents regroupements.
Rider 2020.2 fournit la très attendue prise en charge des shaders Cg et HLSL ! Cela inclut notamment la mise en évidence syntaxique, la saisie semi-automatique du code, la coloration des erreurs sémantiques, l'accès à la définition, la recherche des utilisations et les refactorisations.
Rider comprend parfaitement la structure des fichiers shader, y compris les macros, et peut accéder aux définitions des macros ou les dérouler directement dans le code. Les fichiers inclus sont découverts et analysés, et un Ctrl+Clic sur un fichier inclus vous amène directement à ce fichier.
Et voici un nouveau type de point d'arrêt ! Définissez un point d'arrêt dans le code et convertissez-le en point de pause. Lorsque le débogueur l'atteint, Unity Editor passe immédiatement en mode pause, et vous permet d'utiliser l'inspecteur pour visualiser l'état de votre jeu.
L'outil gagne encore en puissance si vous l'utilisez en combinaison avec des points d'arrêt conditionnels et dépendants. Pour en savoir plus, lisez cet article de blog.
Le code avec le mode Burst activé peut considérablement améliorer les performances de votre application Unity, mais il limite les possibilités de votre code.
Rider 2020.2 apporte une analyse intelligente pour tout le code appelé dans un contexte Burst et met en évidence toute utilisation de code incorrecte, comme les conversions de type boxing, l'utilisation de foreach ou try/catch, la lecture/écriture dans des champs statiques, etc.
Rider offre déjà une excellente prise en charge du débogage des joueurs sur le réseau, notamment des joueurs de bureau autonomes, des mobiles et des consoles.
Rider 2020.2 inaugure le débogage USB pour les appareils Apple (le débogage USB pour les appareils Android est prévu pour une prochaine version).
Tous les correctifs rapides ont été mis à niveau et il est maintenant possible de les exécuter à l'échelle de fichiers, de projets et de solutions entières.
Supprimez des attributs Unity redondants, remplacez les comparaisons littérales de chaîne par CompareTag
, améliorez les performances en combinant la création d'objet et la définition du transform parent, et plus encore - le tout dans tout votre projet Unity, en un seul clic.
Le débogueur de Rider vous montrera des valeurs contextuelles supplémentaires pour les projets Unity. Accédez facilement à la scène active, aux objets des jeux enfants et à tous les composants associés.
Rider affiche également des informations récapitulatives améliorées pour certains types, telles que les angles d'Euler pour Quaternion, des valeurs de précision complète pour les vecteurs, l'état activé des comportements, etc.
Rider will automatically use Unity’s Smart Merge tool to merge asset files when performing integrated version control operations.
Le développement de jeux avec Unreal Engine vous intéresse ? Dans la perspective de faire de Rider un IDE de développement de jeux universel, tout-en-un et autonome, nous avons introduit une prise en charge précoce du développement Unreal Engine dans Rider :
La version Preview en accès anticipé est gratuite. Il suffit de vous inscrire.
L'analyse du code de nullabilité tient maintenant compte de plus de cas et peut retracer une nullabilité incorrecte via la déconstruction et le cycle foreach
. Elle propose également le correctif rapide correspondant.
L'analyse de code prend désormais en compte les attributs JetBrains.Annotations (NotNull
et CanBeNull
) pour l'API, même dans le code où les types de référence nullables sont désactivés (#nullable disable
).
Les actions contextuelles pour convertir« foreach
to LINQ » et « LINQ to code » sont également disponibles sur IAsyncEnumerable‹T›
si le paquet NuGet System.Linq.Async
est installé pour votre projet.
Il est maintenant possible de générer facilement des implémentations de IEqualityComparer‹T›
et IComparer‹T›
avec les correctifs rapides appropriés.
L'analyse de code prend désormais en compte les annotations du compilateur (telles que AllowNull
et DisallowNull
) lors de la vérification de la nullabilité des membres implémentés ou remplacés.
De nouvelles inspections et des correctifs rapides vous permettent de rendre les variables et les types de retour « non nullables » s'ils n'ont jamais contenu ou renvoyé des valeurs nullables.
L'analyse du code est maintenant capable de suivre les règles dotnet_diagnostic du fichier .editorconfig
. Spécifiez la sévérité des inspections dans le fichier .editorconfig
, par exemple dotnet_diagnostic.CS1058.severity = hint
. Rider affichera les inspections en conséquence.
La prise en charge des implémentations par défaut dans la fonctionnalité des interfaces a été améliorée dans cette version. Dans l'éditeur de code, la gouttière de gauche montre qu'une méthode est implémentée ou remplacée, et nos refactorisations ainsi que notre navigation tiennent compte de cette fonctionnalité du langage C#.
Les conseils d'insertion sont désormais disponibles dans le code XAML. Nous fournissons des suggestions pour les noms de propriétés de balisage et DataContext
, ainsi que pour les marges et les espaces de séparation (padding), ce qui est pratique si vous ne souhaitez pas mémoriser leur ordre.
Le correctif rapide Suppress nullable warning with ! peut être désactivé pour une solution via le menu Alt+Entrée.
Nous avons entièrement repensé notre outil d'exécution des tests unitaires pour .NET Framework et .NET Core, ce qui permet d'utiliser le même outil pour les deux environnements d'exécution qui s'exécutent hors du processus Visual Studio. Il aide à résoudre un certain nombre de problèmes liés à la localisation, à l'exécution et au débogage des tests unitaires et offre un contrôle total sur les hiérarchies des tests unitaires pour les tests .NET Core.
Le nouvel outil d'exécution des tests unitaires introduit des améliorations importantes :
Rider prend désormais en charge l'attribut DisplayName
dans les tests .NET Core pour les frameworks xUnit et NUnit.
Vous pouvez sélectionner simultanément plusieurs états de tests unitaires pour les filtrer dans l'arborescence des tests unitaires. Activez ou désactivez plusieurs états en cliquant dessus tout en maintenant la touche Ctrl enfoncée.
Il existe deux compteurs différents pour chaque état lorsqu'un filtre de recherche ou de framework cible est appliqué pour afficher le nombre total de tests unitaires et le nombre de tests qui correspondent aux critères du filtre.
Nous avons ajouté la prise en charge des codes d'échappement ANSI dans la fenêtre Output, afin que vous puissiez colorer la sortie du test unitaire si vous le souhaitez.
Une nouvelle action du menu Alt+Entrée permet d'ouvrir la boîte de dialogue Settings si vous obtenez l'état "Visual studio installation folder is not set" pour votre test unitaire MSTest.
L'amélioration de la prise en charge des requêtes pull GitHub est enfin arrivée ! Vous pourrez parcourir, attribuer, gérer et même fusionner les requêtes pull, afficher leur chronologie et les commentaires inline, envoyer des commentaires et des révisions, et accepter les modifications.
La nouvelle prise en charge comprend les points suivants :
Pour en savoir plus sur cette nouvelle fonctionnalité, consultez cet article de blog.
En plus de la prise en charge complète des requêtes pull GitHub, voici les nouvelles fonctionnalités disponibles pour les systèmes de contrôle de versions :
Vous pouvez utiliser la fenêtre d'outils NuGet pour afficher tous les paquets transitifs d'une solution ou d'un projet dans la nouvelle section Implicitly Installed Packages.
Le survol d'un paquet implicite révèle une infobulle contenant des informations sur la version du paquet implicite et le paquet de la référence. Si le paquet est référencé dans plusieurs versions, elles seront toutes affichées.
Nous avons ajouté un nouveau menu contextuel que vous pouvez appeler en cliquant avec le bouton droit de la souris ou en appuyant sur Alt+Entrée sur un paquet NuGet. À partir de là, vous pouvez accéder rapidement à toutes les actions pertinentes pour un paquet NuGet donné, comme la mise à jour ou la suppression du paquet, son ouverture dans l'Assembly Explorer pour examiner l'API, son affichage dans l'explorateur du système de fichiers, la navigation vers l'entrée NuGet.org associée ou la recherche du code dépendant.
Une nouvelle action Quick NuGet Documentation permet d'afficher les chemins de référence implicites vers un paquet.
Le champ de recherche des paquets a également bénéficié d'une mise à jour. Vous pouvez cliquer sur l'icône loupe ou utiliser Alt+Flèche vers le bas pour ouvrir l'historique des recherches récentes de paquets.
Nous pouvons maintenant modifier les valeurs de deux des propriétés les plus fréquemment modifiées : globalPackagesFolder
et repositoryPath
.
Dans l'onglet Feeds, nous pouvons maintenant voir immédiatement si un chemin de flux n'est pas valide, car le chemin est alors mis en évidence par un rectangle rouge.
Un message d'avertissement s'affiche également dans la liste des recherches si l'on recherche un paquet qui ne se trouve dans aucun des flux.
Un nouvel avertissement dans le volet des détails vous indique quels paquets sont encore en maintenance ou obsolètes.
La refactorisation Introduce Variable est désormais disponible pour les expressions. Lorsqu'elle est appelée, elle affiche les sous-expressions appropriées (sauf si une partie spécifique du code est sélectionnée) et propose de remplacer des sous-expressions similaires. Elle agit également sur le nom de la nouvelle variable en suggérant un nom significatif en fonction du type et du contexte.
Rename est maintenant opérationnel pour les caractères génériques de soulignement. Chaque fois que vous avez besoin de transformer un schéma de caractère générique en une variable nommée, vous pouvez appeler la refactorisation au lieu de le faire manuellement. Elle tient également compte du type et du contexte pour suggérer des noms.
Import Type
a été considérablement améliorée. Elle fonctionne maintenant dans un plus grand nombre de cas et tient compte du nombre de paramètres pour suggérer un type. Désormais, Rider peut également suggérer de référencer un module ou un autre projet de votre solution et en importer le type.
Plusieurs nouveaux correctifs rapides ont aussi été apportés : ajouter des parenthèses à l'application d'une fonction dans la liste des paramètres, ajouter l'attribut Extension
à un type ou un module contenant, corriger les erreurs de syntaxe, conversion de let en use, etc.
Nous avons implémenté un analyseur rapide de qualificateurs redondants, ainsi qu'un correctif rapide correspondant pour supprimer les redondances.
De nouvelles options permettent de mettre en évidence plusieurs symboles différemment. De plus, les abréviations de type bénéficient de la même mise en évidence que les types qu'elles abrègent et les fonctions peuvent être mises en évidence en tant que méthodes. Both are external contributions, and we thank Igor Bagdamyan for them.
Rider propose maintenant des conseils de type pour les expressions dans les chaînes |>
. Ils vous aident à garder le fil ce qui se passe sans avoir à suivre toute la chaîne dans votre esprit. This too is an external contribution, which we’d like to thank Saul Rennison for.
Les références de couleur sont maintenant mises en évidence dans le code et donc plus visibles.
Finally, we now have an F# Compiler Service monitor – thanks again to Saul. Chaque fois que FCS est occupé, un indicateur s'affiche. Il s'agit principalement d'un outil de diagnostic : il aide le développeur à comprendre la raison pour laquelle l'IDE travaille, et dans le cas où ce comportement semble suspect, il peut être signalé à l'équipe Rider pour analyse.
To learn more about updates in F# support, please take a look at the release notes on GitHub.
Nous avons de bonnes nouvelles pour les développeurs UWP : les liaisons compilées avec x:Bind sont enfin prises en charge !
Rider résout correctement le code x:Bind
et propose plusieurs inspections et les correctifs rapides correspondants. Il vous avertit des setters de propriété manquants, des attributs BindBack
et des collisions de surcharge. De plus, un ensemble de correctifs rapides Create from Usage permet de générer un champ, une propriété ou une méthode appropriée à l'intérieur des fichiers C# code-behind.
La saisie semi-automatique du code et des informations sur les paramètres sont fournies pour les attributs propertyPath
, BindBack
et UpdateSourceTrigger
dans une expression x:Bind
.
Les refactorisations Change Signature et Safe Delete tiennent désormais compte de l'utilisation de la méthode dans le code XAML et les mettent à jour en conséquence. De plus, les refactorisations Make Static/Const et Encapsulate Field fonctionnent directement à partir du code XAML et mettent à jour correctement les utilisations XAML si vous les appelez à partir d'un fichier C# code-behind.
La prise en compte de la nullabilité est intégrée dans l'analyse de code x:Bind
. Rider vous montre maintenant des inspections liées à null directement dans le code XAML si des attributs CanBeNull
et NotNull
existent dans le code C#, par exemple, « Possible System.NullReferenceException
» et « Possible null
assignment to non-nullable entity » pour les arguments d'une méthode utilisée dans un propertyPath
.
D'autres fonctionnalités de Rider telles que Find Usages et Go to Declaration prennent également en compte les liaisons x:Bind
.
Le plugin dotTrace peut profiler la partie native des applications Mono/Unity sous Windows. Lancez une session avec l'option Enable native profiling pour consulter les piles d'appels natives et gérées dans les instantanés de performances.
Maintenant, vous pouvez filtrer par processus/module/classe/méthode dans Settings/Preferences | Build, Execution, Deployment | Dynamic Program Analysis | Filtering
pour restreindre la portée de l'analyse de programme dynamique.
La nouvelle version apporte plusieurs fonctionnalités utiles au plugin dotCover :
Navigate to | Coverage Tree
ou en utilisant l'icône Navigate from Editor
de la barre d'outils dans la fenêtre d'outils Coverage). Après avoir installé l'émulateur de stockage Azurite à l'aide de npm (npm install -g azurite
), un nœud Azurite sera ajouté à la fenêtre d'outils Services. À partir de là, vous pouvez démarrer, arrêter et effacer l'émulateur de stockage.
Lorsque vous utilisez des déclencheurs de temps dans Azure Functions
, vous devez entrer une expression NCrontab valide pour déterminer le moment où la fonction sera exécutée. Azure Toolkit for Rider vous aide désormais à modifier le crontab en fournissant une saisie semi-automatique du code indiquant plusieurs exemples d'expressions à partir desquels vous pouvez commencer à travailler.
Rider confirme désormais si une expression NCrontab est valide ou non et vous apporte des informations supplémentaires sur les explications potentielles.
Rider prend maintenant en charge Markdown ! Rider 2020.2 est livré avec le plugin Markdown. Il reconnaît les fichiers Markdown dans votre solution, leur fournit un éditeur dédié et affiche le HTML rendu dans un aperçu en direct.
Les configurations d'exécution de Godot ont été retravaillées. Vous pouvez exécuter, déboguer et exécuter avec les configurations d'exécution de profilage Player et Editor. De plus, vous pouvez modifier les paramètres de ligne de commande qui sont utilisés pour exécuter à la fois le lecteur et l'éditeur.
En outre, vous pouvez maintenant lancer l'exécution ou le débogage pour des scènes individuelles directement à partir du menu contextuel de la vue Solution Explorer.
Maintenant, si vous avez une grande valeur dans une cellule, vous pouvez l'afficher ou la modifier dans un volet séparé. Vous pouvez également passer au mode retour à la ligne (soft wrap) en utilisant la barre d'outils de droite. Utilisez toute la puissance de l'éditeur de code de Rider pour vos données !
Il existe désormais un moyen plus intuitif d'afficher et de modifier les valeurs booléennes. Les valeurs true sont maintenant marquées avec une puce afin de les distinguer des autres.
À partir de cette version, vous pouvez consulter la requête qui contient vos modifications dans l'éditeur de données. Une icône DML est maintenant activée si des modifications sont en attente. En cliquant sur l'icône, vous verrez une boîte de dialogue avec l'aperçu DML. Cette requête n'est pas le code SQL exact qui sera exécuté pour modifier vos données, car Rider utilise un pilote JDBC pour mettre à jour les tables, mais la plupart du temps, ce sera le même.
Consultez les Nouveautés de DataGrip pour découvrir toutes les améliorations de bases de données également disponibles dans Rider 2020.2.
De nouvelles intentions intelligentes (Alt+Entrée) vous aideront à effectuer certaines actions plus rapidement. Par exemple, vous pouvez maintenant convertir rapidement une boucle for avec un index numérique en une méthode de tableau forEach
. La consultation des commentaires de la documentation dans les fichiers JavaScript et TypeScript est également facilitée, car vous pouvez désormais les afficher directement dans l'éditeur, ce qui minimise les distractions.
Vous souhaitez utiliser Prettier au lieu de l'outil de mise en forme intégré pour nettoyer votre code ? Avec cette mise à jour, c'est encore plus facile qu'auparavant. Installez le plugin depuis JetBrains Marketplace, puis sur la page Settings/Preferences | Plugins
, cochez la nouvelle case On code reformat. L'IDE utilisera Prettier à chaque fois que vous remettrez en forme vos fichiers .js
, .ts
, .jsx
et .tsx
. De plus, vous pouvez facilement ajouter d'autres types de fichiers.
Au cours de l'année écoulée, nous avons ajouté la prise en charge de Nuxt.js, des paramètres du style de code spécifiques à Vue, des améliorations concernant Vue dans les projets TypeScript, et bien d'autres mises à jour. La prise en charge de Vue dans Rider n'a jamais été aussi avancée !
Consultez les Nouveautés de WebStorm pour découvrir toutes les améliorations du développement Web également disponibles dans Rider 2020.2.
Dans cette version, la boîte de dialogue Conflicts a été remaniée sous forme d'étape distincte dans l'interface Refactorings. La simple liste d'avant a été remplacée par une arborescence regroupée par fichiers. Pour revenir à la liste simple, cliquez sur l'icône Aplatir dans la barre d'outils de droite.
Lors de l'appel des refactorisations Introduce parameter ou Introduce field sur une expression, Rider demande à quelle partie de l'expression appliquer la refactorisation.
Voici quelques mises à jour notables :
.Designer.cs
», Rider en génère désormais un au lieu d'afficher une erreur. ProjectReferences
pour les projets de sites Web sont maintenant prises en charge.