Rider 2020.1 exécute désormais par défaut le backend sur l'environnement d'exécution .NET Core sous macOS et Linux, et propose les fonctionnalités Xamarin Hot Reload et Dynamic Program Analysis. Il inaugure un moyen simple de configurer les degrés de gravité de l'éditeur et se dote d'une analyse du flux de données pour les valeurs entières, sans parler de l'accélération de l'une exécution du code. La fenêtre Debug a été remaniée, et la refactorisation Extract Class et les filtres Coverage Filters sont désormais disponibles.
Saluez l'arrivée de l'édition Rider .NET Core ! Le backend se lance enfin sur l'environnement d'exécution .NET Core par défaut sous macOS et Linux, au lieu d'utiliser l'environnement d'exécution Mono. Vous remarquerez instantanément :
Soit dit en passant, la version actuelle de .NET Core est la plus récente et la meilleure, la 3.1, qui présente de nombreuses améliorations de performances par rapport à la version 3.0.
Veuillez noter qu'il n'y a pas de prise en charge sous Windows pour l'instant, seulement sous macOS et Linux. Nous prévoyons d'apporter la prise en charge sous Windows plus tard dans l'année.
Voulez-vous en savoir plus sur la transition de Mono vers .NET Core et consulter les graphiques des performances ? Consultez cet article du blog !
Si vous rencontrez des problèmes avec le backend Rider exécuté sur .NET Core et que vous souhaitez revenir à l'environnement d'exécution Mono, sélectionnez Help | Switch IDE runtime to Mono. Et en cas de problème, n'oubliez pas de nous le signaler.
La prise en charge initiale de Xamarin Hot Reload est arrivée Maintenant, Rider applique automatiquement les modifications apportées dans le XAML de Xamarin Forms à l'application en cours de débogage sur un appareil ou un simulateur, sans relancer la build ni redéployer l'application entière.
Notez bien cette limitation : si un PC/ordinateur portable avec Rider et un appareil iOS ne sont pas sur le même réseau WiFi, le rechargement à chaud ne fonctionnera pas, même si l'appareil iOS est connecté au PC ou à l'ordinateur portable en USB.
En dehors de cela, la prise en charge de Xamarin bénéficie d'un correctif important : l'erreur « Invalid target architecture 'arm64e' » n'apparaît plus lors de l'exécution de projets Xamarin.iOS sur un appareil iPhone XS Max.
Consultez l'article de blog pour plus d'actualités.
Nous sommes heureux de vous présenter l'analyse dynamique de programme Dynamic Program Analysis. Chaque fois que vous exécutez votre projet dans Rider, DPA commence à collecter les données d'allocation de mémoire. Une fois que vous fermez l'application, DPA vous montrera une liste des problèmes détectés : fermetures et allocations à des tas d'objets, petits et grands. Le grand intérêt de cette amélioration est que vous n'avez pas besoin de démarrer de « sessions de profilage » et d'obtenir des instantanés. Travaillez comme d'habitude et toutes les données seront collectées en arrière-plan, avec une surconsommation presque nulle. Le test de la DPA sur une variété de solutions réelles a démontré un ralentissement de seulement 0 à 2 %.
Notez bien : DPA n'est disponible que sous Windows, et vous n'avez pas besoin d'une licence spéciale pour l'activer.
Pour en savoir plus : Détection automatique des problèmes de mémoire dans votre application avec Dynamic Program Analysis
Cette version de Rider inaugure un nouveau type d'analyse de code 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.
ScriptableObjects
et les valeurs des champs sérialisés. Boo.Lang.List
ou System.Diagnostics.Debug
dans la saisie semi-automatique du code pour les projets Unity. 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 Rider 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.
Il existe également plusieurs nouvelles inspections et correctifs rapides :
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. Au cours de l'année écoulée, nous avons reçu quelques rapports indiquant que la fenêtre contextuelle de saisie semi-automatique du code mettait trop de temps s'afficher. Nous avons planché sur la question, et la fenêtre contextuelle de saisie semi-automatique du code s'affiche maintenant beaucoup plus vite après que vous avez commencé à taper, en particulier dans les grandes solutions.
Autre fonctionnalité très pratique inclus dans cette version : les membres signalés comme Obsolete peuvent être masqués dans la saisie semi-automatique du code si vous ne voulez pas les y voir affichés.
Dernier point, mais non des moindres, les propositions de la fenêtre contextuelle de saisie semi-automatique du code respectent désormais vos paramètres de style de code.
Nous avons complètement remanié l'interface utilisateur de la fenêtre d'outil Debug pour la rendre aussi propre et épurée que possible. Si une seule session de débogage est en cours d'exécution, la disposition des onglets est simplifiée, car tous les onglets se retrouvent désormais sur un seul niveau. Les légendes des onglets prennent moins de place, il y a donc plus de place pour le contenu du débogueur. Et dans le cas de plusieurs sessions, une couche d'onglets supplémentaire est ajoutée pour séparer les sessions.
Dans le même temps, nous avons combiné les vues Threads et Frames. Si vous n'avez pas besoin de la vue Threads pour le moment, vous pouvez la masquer en cliquant sur l'icône Hide threads view.
Nous avons également mis à jour le moteur de débogage pour améliorer encore votre expérience de débogage :
Cette nouvelle fonctionnalité vous permet de modifier facilement les niveaux de mise en évidence de l'éditeur. En un seul clic dans une fenêtre contextuelle non modale, vous pouvez activer ou désactiver Code Vision, Parameter Hints, Unity Performance Hints, Errors, Warnings, Suggestions, Context actions, et bien d'autres éléments. Recherchez l'icône de crayons en bas à droite de l'onglet de l'éditeur de code.
Nous avons modifié les barres d'outils des fenêtres Unit Test Session et Unit Test Explorer.
En plus de cela, nous avons ajouté trois grandes fonctionnalités :
Pour en savoir plus : Mises à jour de l'outil d'exécution de tests dans Rider 2020.1
Dans Rider 2019.3, nous avons ajouté un client expérimental TFS qui a fourni une amélioration spectaculaire de la vitesse pour l'action « Checking for changes ». Au cours du cycle de publication actuel, nous avons continué de consacrer beaucoup d'efforts au client.
Enfin, notre client TFS sort sa première version et apporte de nombreuses améliorations. Mentionnons ici les deux plus importantes. Tout d'abord, l'activation de Version Control Integration fonctionne désormais pour les espaces de travail TFS créés localement avec Visual Studio. Cela signifie que vous n'avez plus besoin de recréer un espace de travail local à partir de zéro dans Rider. Deuxièmement, nous avons considérablement amélioré les performances des opérations de suppression et d'annulation.
Pour commencer à utiliser le client TFS, rendez-vous dans Settings | Version Control | TFVC et activez-le.
Rider, comme tous les IDE JetBrains, utilise désormais JetBrains Mono comme police par défaut dans tous les thèmes. Nous espérons que vous l'apprécierez !
Une autre fonctionnalité ReSharper qui manquait jusqu'à présent dans Rider est enfin arrivée : les espaces de noms peuvent être importés automatiquement lorsque du code est collé à partir d'un fichier dans la solution.
Si vous modifiez manuellement des fichiers associés à NuGet, vous serez probablement ravi d'obtenir l'aide de Rider, car il offre désormais une prise en charge initiale pour la modification des fichiers NuGet.Config, packages.config, et *.nuspec, avec notamment la saisie semi-automatique du code, la validation de la syntaxe et une fenêtre contextuelle de documentation rapide.
Ces plus petites améliorations méritent également d'être mentionnées :
Une autre refactorisation très demandée et attendue depuis longtemps disponible dans ReSharper est enfin arrivée dans Rider - Extract Class.
Vous vous demandez pourquoi vous en avez besoin ? Supposez que vous ayez une classe qui accomplit une tâche qui devrait plutôt être effectuée par deux classes différentes. L'utilisation de cette refactorisation est le moyen le plus sûr et le plus efficace de décomposer cette classe complexe en deux classes à responsabilité unique. Extract Class vous aidera à choisir les méthodes et les champs pour passer de l'ancienne classe à la nouvelle classe. Elle vous avertit également de toutes les dépendances cassées et des problèmes d'accessibilité, et suggère des moyens de résoudre les conflits.
La vue Solution Explorer présente deux nouveaux dossiers utiles qui vous fournissent plus d'informations sur votre projet : Implicit references en tant que sous-dossier du dossier Assemblies et MSBuild import targets.
En plus de cela, il existe plusieurs petites mises à jour :
Pour vous offrir plus de contrôle sur les résultats de couverture des tests unitaires que vous obtenez dans Rider, nous avons ajouté des filtres de couverture. Pour les spécifier, accédez à Preferences/Settings | Build, Execution, Deployment | dotCover | Filtering.
Si vous effectuez le profilage des performances sur Linux ou macOS, nous avons une bonne nouvelle pour vous : les applications .NET Core peuvent enfin être profilées en mode Tracing sur ces systèmes d'exploitation. De plus, vous pouvez désormais associer le profileur aux applications .NET Core sur Linux.
Nous avons ajouté plusieurs nouvelles fonctionnalités au décompilateur de Rider et à IL Viewer :
Pour améliorer la prise en charge de F# dans Rider, nous avons apporté des tonnes d'améliorations et de correctifs qui devraient vous aider dans votre routine quotidienne :
this.Property
) et des expressions d'indexeur ("foo".[1]
). ()
.Pour plus de mises à jour et de correctifs, veuillez consulter le dépôt GitHub.