Nouveautés de Rider

Rider 2022.1 apporte une prise en charge totale d'Unreal Engine, ce qui en fait un IDE complet pour le développement de jeux, quel que soit le moteur de jeu que vous utilisez.

Cette version 2022.1 fournit également la prise en charge d'une version bêta du workflow de développement à distance tant attendu par la communauté. Il permet de se connecter à une machine distante exécutant le backend de Rider, quel que soit l'endroit où l'on se trouve.

Outre ces nouvelles fonctionnalités, cette version apporte le mode Docker Fast, des mises à jour de la barre d'outils principale et la recherche en texte intégral dans toute la solution directement à partir de la fenêtre contextuelle Search Everywhere.

Développement de jeux avec Unreal Engine

Déjà largement utilisé dans le domaine du développement Unity, Rider fournit maintenant une prise en charge complète d'Unreal Engine. Cela fait de Rider notre principal IDE pour les développeurs de jeux, quelle que soit leur spécialité.

Une intégration poussée avec Unreal Engine

Une intégration poussée avec Unreal Engine

Rider prend en charge le développement Unreal Engine sur les trois principales plateformes : Windows, Linux et macOS. Il fonctionne nativement avec le modèle .uproject, ce qui éviter de perdre du temps avec la génération de modèle de projet intermédiaire.

Le plugin UnrealLink permet une intégration avancée entre Rider et l'éditeur Unreal d'Epic Games. Ce plugin :

  • Envoie des informations sur les Blueprints à l'éditeur.
  • Ajoute des paramètres pour gérer le lancement de jeux.
  • Fournit une version plus pratique du journal d'Unreal Editor.
Prise en charge de C++ de premier ordre

Prise en charge de C++ de premier ordre

Rider s'appuie sur les fonctionnalités de ReSharper C++, qui offre une prise en charge native avancée du C++ moderne. Bénéficiez de plus de 1 300 inspections de code, de plus de 290 correctifs rapides, de refactorisations à l'échelle de la solution et de capacités de génération de code. Que vous travailliez avec le code C++ de votre jeu, d'Unreal Engine ou avec des shaders, Rider vous aide en accélérant la navigation et en expliquant le code avec des conseils d'insertion.

En savoir plus

Mécanisme de réflexion d'Unreal Engine

Mécanisme de réflexion d'Unreal Engine

Les macros de reflets et les spécifications de reflets Unreal Engine sont plus que des substitutions de texte brut pour Rider. Les fonctionnalités de saisie semi-automatique du code et la documentation rapide connaissent ces entités et en tiennent compte pour vous aider à coder efficacement. De même, Rider différencie les appels de procédure à distance d'Unreal Engine des autres fonctions et les met en correspondance lors de la navigation et de la génération de code.

Analyse de code adaptée pour Unreal Engine

Analyse de code adaptée pour Unreal Engine

Grâce à l'intégration de Rider avec UnrealHeaderTool vous pouvez voir les erreurs et avertissements que vous verriez normalement lors de la compilation directement dans l'éditeur pendant que vous saisissez du code. Ce processus est optimisé afin que son impact sur la performance globale soit minimal.

Rider détecte les projets Unreal Engine et utilise automatiquement les règles de convention de nommage d'Unreal Engine lors de la génération de code et de l'analyse du code dans ces projets.

Débogueur

Débogueur

Le débogueur basé sur LLDB prend en charge Unreal Engine Natvis pour vous aider à déceler tout problème dans le code de votre jeu ou dans le moteur. Vous pouvez définir des points d'arrêt pour une ligne, un symbole, des données et des conditions. Vous pouvez également parcourir le code, évaluer les expressions et même voir les valeurs des variables directement dans l'éditeur de Rider pendant la session de débogage.

Tests unitaires

Tests unitaires

Rider prend directement en charge le framework de tests automatisés d'Unreal Engine. Lancez des tests à partir de la fenêtre d'outils Unit Test ou directement dans l'éditeur, examinez leurs résultats et relancez ceux qui ont échoué, tous les tests ou certains tests spécifiques.

Vous pouvez utiliser Rider pour développer n'importe quel projet en C++ sous Windows : il vous suffit d'ouvrir un fichier .sln en tant que projet dans Rider. Sous Linux et macOS, Rider est limité au modèle .uproject pour les projets C++. Si vous souhaitez en apprendre plus sur les différences entre Rider, CLion et ReSharper C++ en matière de développement C++ général et Unreal Engine, consultez notre FAQ.

Développement à distance Bêta

Développement à distance

Rider prend maintenant en charge une version Bêta de notre workflow de développement à distance. Il permet de se connecter à une machine distante exécutant le backend de Rider, quel que soit l'endroit où l'on se trouve. Tout le traitement s'effectue sur cette puissante machine distante, et vous pouvez travailler sur votre projet de manière aussi fluide que s'il se trouvait sur votre machine locale. Cette fonctionnalité peut être lancée à partir de l'écran de bienvenue de Rider ou de notre nouvelle application JetBrains Gateway disponible dans Toolbox App.

De plus, vous pouvez créer, préparer, partager, reproduire, mettre en veille et gérer des environnements de développement avec JetBrains Space, notre plateforme unifiée pour l'ensemble du pipeline de développement logiciel. Consultez cet article de blog pour en savoir plus.

Barre d'outils

Personnaliser la nouvelle barre d'outils

Personnaliser la nouvelle barre d'outils

La nouvelle barre d'outils est globalement très appréciée par nos utilisateurs. Cependant, certains se sont plaints de l'impossibilité d'ajouter des widgets personnalisés ou de réorganiser les widgets existants. Vous nous l'avez demandé, nous l'avons fait ! Vous pouvez désormais ajouter de nouveaux widgets sur les côtés gauche et droit de la barre d'outils, les réorganiser et les supprimer.

Il y a deux façons d'ouvrir la page de personnalisation de la barre d'outils :

  • Preferences/Settings | Appearance & Behavior | Menus and Toolbars | Toolbar
  • Faire un clic droit sur la barre d'outils et sélectionner Customize Toolbar.
Profiler depuis la nouvelle barre d'outils

Profiler depuis la nouvelle barre d'outils

Si vous utilisez la nouvelle barre d'outils inaugurée dans Rider 2021.3, vous avez probablement remarqué qu'il n'existait pas de moyen de commencer le profilage avec dotTrace directement. Dans cette version, nous avons remédié à cela.

Les options Profile with Timeline, Profile with... et Profile running process... sont maintenant disponibles dans le menu More du widget Run/Debug (l'icône « kebab »).

Mode Fast pour Docker

Le modeFast est arrivé dans les solutions Docker et Docker-Compose, ce qui devrait considérablement réduire les temps de build au cours du développement !

La construction de vos projets dans un conteneur peut être sensiblement plus lente que leur construction sur votre machine locale. Si vous activez le mode Fast, Rider créera d'abord votre image Docker de base avec docker build et construira ensuite le projet sur votre machine hôte, ce qui est nettement plus rapide. Enfin, les artefacts du projet sont montés dans le conteneur Docker en tant que volume. Ce mode est limité aux configurations Debug. Les projets avec la configuration Releaseseront construits selon les étapes indiquées dans votre Dockerfile.

Vous pouvez désactiver le mode Fast pour toute configuration d'exécution via Edit Run Configuration | Build | Modify options | Don't use Docker fast debug.

Recherche de texte dans Search Everywhere

Search Everywhere est votre point d'entrée principal lorsque vous recherchez un élément dans votre solution, les paramètres de l'IDE ou l'historique Git. Rider 2022.1 comprend un nouvel onglet Text qui affiche toutes les occurrences de texte correspondant à votre chaîne pendant que vous la saisissez dans la solution. Il effectue une recherche en texte intégral dans tous les fichiers de code et de texte, y compris dans les fichiers .cs, .fs, .cshtml, .json, .js, .css, .editorconfig, .cvs, .dockerfile, .md et .txt.

Comme d'habitude, l'ensemble de ces résultats s'affiche également dans l'onglet All.

Vous pouvez toutefois réduire le champ des fichiers dans lesquels vous souhaitez effectuer cette recherche en la limitant à :

  • Une zone de recherche : All places, Recently viewed files, Local changes ou Data sources.
  • Un type de fichier, avec une liste de valeurs prédéfinies ou en spécifiant des masques de fichiers manuellement.

Cette recherche de texte incluse dans Search Everywhere n'affecte pas la fonctionnalité Find in Files existante. Vous pouvez utiliser les deux.

Interface/Expérience utilisateur

Nouvelle fenêtre d'outils Notifications

Nouvelle fenêtre d'outils Notifications

Nous avons remplacé l'instanсe Event Log par une nouvelle fenêtre d'outils Notifications afin de mettre plus clairement en évidence les notifications de l'IDE les plus importantes et utiles. L'objectif de cette mise à jour est d'améliorer la visibilité et l'organisation des notifications dans une fenêtre d'outils dédiée, à laquelle vous pouvez accéder depuis la barre de navigation.

Toutes les notifications qui s'affichent dans la fenêtre d'outils Notifications sont classées selon deux catégories : Suggestions et Timeline.

La section Suggestions présente les notifications qui sont considérées comme utiles ou pertinentes dans la plupart des cas d'usage. De plus, les notifications de la section Suggestions sont signalées selon les cas comme importantes ou standard. Si vous recevez une suggestion importante, un cercle rouge s'affichera dans l'icône cloche de la barre de navigation. Les suggestions standard sont indiquées par un cercle bleu dans l'icône cloche.

Indicateur de zoom

Indicateur de zoom

Auparavant, il était difficile de déterminer le niveau de zoom du contenu de l'éditeur de texte. Il n'y avait pas d'indicateur visible montrant explicitement l'état du zoom.

Dans cette version, nous avons ajouté le widget Zoom, qui s'affiche en bas de l'éditeur de texte actuel. Il indique la taille réelle de la police de l'éditeur et permet de rétablir sa taille par défaut.

Ce widget vous permet aussi d'accéder directement à Preferences/Settings, où vous pouvez déterminer si le zoom affecte tous les éditeurs ou seulement celui qui est actif.

Raccourcis clavier Visual Studio 2022

Raccourcis clavier Visual Studio 2022

Nous avons ajouté un nouveau clavier virtuel Visual Studio 2022 qui résout toutes les différences de raccourcis entre le clavier virtuel actuel de Visual Studio et celui de Visual Studio IDE (par exemple Alt+Haut/Bas) en adoptant les raccourcis de ce dernier. Nous recommandons ce nouvel ensemble de raccourcis clavier aux personnes habituées à utiliser les versions de Visual Studio antérieures à 2022 sans ReSharper.

Prise en charge des langages

Prise en charge de C#

We continue to improve support for C# 10, particularly global usings. Nous avons implémenté deux nouvelles refactorisations qui sont également disponibles en tant qu'actions contextuelles.

Extract Global Using peut vous aider à introduire le concept de directives using globales dans votre projet. Vous pouvez l'appeler sur une directive using standard et Rider vous proposera de l'extraire vers un fichier GlobalUsings.cs désigné (si ce fichier n'existe pas encore dans votre projet, il sera créé). Toute directive using ordinaire superflue sera ensuite supprimée des fichiers de votre projet.

Si vous décidez de refactoriser une directive using globale en directive using ordinaire, la refactorisation Inline Global Using peut là aussi vous aider. Si vous l'appelez sur une directive using globale, elle la supprime du fichier GlobalUsings.cs et ajoute l'instruction using correspondante aux fichiers de votre projet, là où elle est nécessaire.

La fonctionnalité using globale est prise en charge dans Find Usages et dans l'analyse de code pour les méthodes d'extension.

We’ve looked into the approaching C# 11 and supported generic attributes.

Types de référence nullables

  • Nous avons divisé en deux catégories les avertissements relatifs aux contrôles de null sur les expressions qui ne devraient jamais être nulles. Le premier avertissement concerne les expressions qui ne sont jamais null parce qu'une annotation NRT (nullable reference type) le dit. Le deuxième avertissement concerne les expressions pour lesquelles il y a une vérification de null au moment de l'exécution.
  • Nous avons ajouté un nouveau paramètre pour passer en mode runtime enforced not null warnings only afin de n'avertir qu'en cas de vérification null au moment de l'exécution. Il est accessible à partir du groupe d'éléments de configuration dans le menu Alt+Enter pour les avertissements annotation-based.
  • Les annotations[MemberNotNull] et [MemberNotNullWhen] sont désormais prises en charge dans les projets qui n'utilisent pas de types de référence nullables.

Razor et Blazor

Voici quelques-unes des fonctionnalités et des corrections les plus notables concernant Razor et Blazor :

  • Nous avons ajouté la prise en charge du nouvel attribut [EditorRequired] de .NET 6. L'inspection et le correctif rapide correspondants sont également disponibles si vous essayez d'utiliser un composant Blazor sans spécifier les paramètres requis.
  • Nous avons implémenté la prise en charge des fonctions locales C# dans la syntaxe Razor tant attendue.
  • Nous avons amélioré le nettoyage du code dans les fichiers .razor avec des composants Blazor. Il ne supprime donc plus les déclarations @using.
  • Nous avons également corrigé les actions contextuelles If To Switch et Invert If dans le code Razor avec des références aux composants Blazor.
  • Rider utilise désormais le bon style de nommage pour les propriétés injectées par Blazor.
  • L'action Comment with Line Comment commente maintenant uniquement la partie du code Razor souhaitée.
  • Nous avons ajouté la navigation via la hiérarchie de l'héritage au code Razor. Les marques des gouttières correspondantes sont maintenant indiquées pour les symboles de base et dérivés. Vous pouvez cliquer dessus pour accéder au code.

Prise en charge de F#

  • Nous avons corrigé plusieurs problèmes concernant le modèle de projet qui pouvaient entraîner des blocages lors du chargement et de la mise à jour des projets, ainsi que des problèmes suite auxquels l'analyse ignorait les modifications apportées aux projets ou à d'autres fichiers. Nous avons également résolu les problèmes concernant les scripts F# qui empêchaient le fonctionnement des directives include des références de paquets et d'autres fichiers.
  • Les projets C# peuvent maintenant voir correctement les attributs InternalVisibleTo définis dans les projets F#, ce qui permet d'accéder aux symboles internes sans provoquer d'erreurs dans l'IDE.
  • Nous avons corrigé certains problèmes concernant les fournisseurs de type, comme les erreurs d'analyse qui apparaissaient auparavant dans le code avec la même instanciation de fournisseur de type.
  • Nous avons résolu le problème de la refactorisation Rename qui ne fonctionnait pas sur certains symboles.
  • En plus de tout un ensemble de correctifs de bugs dans les différentes parties du plugin F#, la prise en charge de F# comprend de nouveaux analyseurs et correctifs rapides pour suggérer d'utiliser les fonctionnalités F# récemment ajoutées. Un certain nombre de fonctionnalités existantes ont par ailleurs été améliorées. You can take a look at the full release notes for more information.

Ajouter des références web

Références web

Nous avons apporté plusieurs améliorations concernant l'ajout de références web aux projets .NET. Les plus significatives sont les suivantes :

  • Vous pouvez désormais ajouter une référence web à des projets .NET et .NET Core (auparavant, cela n'était possible que pour les projets .NET Framework).
  • Vous pouvez ajouter des références à partir de fichiers .wsdl en utilisant le chemin d'accès au fichier au lieu de l'URL dans la boîte de dialogue Add Web Reference.
  • Si vous ajoutez une référence de service web WCF à un projet, elle s'affiche dans le nœud Services de la fenêtre d'outils Solution View.
  • Si la référence de service web dispose d'une authentification de base, Rider affichera la boîte de dialogue dans laquelle vous pouvez indiquer vos informations d'identification.
  • Les préfixes URInet.tcp et net.pipe sont maintenant pris en charge.

Développement web

Points de terminaison

Points de terminaison

Nous continuons à améliorer la prise en charge d'Endpoints et d'Endpoints Viewer. Désormais, la visionneuse reconnaît et collecte les points de terminaison pour le routage d'API minimal et le routage conventionnel d'ASP.NET Core 6. Vous pouvez donc examiner et parcourir ces points de terminaison, mais aussi utiliser la saisie semi-automatique intelligente du code en plus des fonctionnalités déjà disponibles.

Améliorations pour Vue

Améliorations pour Vue

Rider 2022.1 apporte plusieurs améliorations pour Vue 3. Si vous définissez les composants comme globaux, l'IDE les reconnaîtra désormais dans vos fichiers .vue. De plus, Rider prend correctement en charge la syntaxe createApp. Il fera correspondre correctement les applications créées avec leurs éléments connexes à l'aide de createApp. Cette version fournit aussi la prise en charge de Nuxt 3, une nouvelle version du framework Vue.

Prise en charge de Unity

La remarquable prise en charge de Unity par Rider s'améliore encore dans la version 2022.1, avec notamment de nouvelles fonctionnalités, des correctifs et des améliorations de performance.

Nous annonçons également la sortie de RiderFlow, un nouvel outil pour les scènes dans Unity. Il s'agit d'un plugin gratuit pour l'éditeur Unity qui aide les concepteurs de niveaux, les artistes, les codeurs et le reste de l'équipe créative à créer et gérer les scènes facilement. Naviguez rapidement, cherchez des objets et des ressources de jeu, mettez visuellement en évidence les occurrences des ressources dans une scène et refactorisez votre scène pour remplacer rapidement et facilement les objets qu'elle contient. Pour en savoir plus, consultez la page RiderFlow !

Rider met désormais votre fichier .asmdef à jour automatiquement lorsque vous ajoutez une référence à un projet ou la supprimez. Si vous utilisez un type provenant d'un autre projet, Rider ajoutera la référence au fichier .asmdef et importera le type.

Rider prend maintenant en charge les fichiers de référence de définition d'assembly (Assembly Definition Reference) .asmref, ainsi que les fichiers .asmdef. Vous bénéficiez de la mise en évidence de la syntaxe, de la validation des schémas et de la saisie semi-automatique. Ctrl+Clic sur le nom de la référence permet d'accéder au fichier .asmdef référencé, et les fichiers .asmdef s'affichent dans Find Usages.

Chaque projet dispose d'une nouvelle configuration d'exécution par défaut qui permet d'exécuter l'éditeur Unity en mode groupé, idéal pour exécuter des tests unitaires et enregistrer les résultats dans le dossier Logs.

Unity prenant maintenant en charge les versions plus récentes de C#, Rider a étendu la mise en évidence des types Color de Unity pour inclure les expressions new de type cible. Vous pouvez obtenir rapidement un aperçu de la couleur que vous avez déclarée et utiliser Alt+Entrée pour choisir une nouvelle valeur.

Rider 2022.1 améliore les temps de chargement pour les très gros projets Unity, notamment pour les disques ou les systèmes de fichiers plus lents. Si ces améliorations peuvent être importantes pour les projets de grande envergure, elles sont moins perceptibles pour les petits projets, mais tous bénéficieront de l'utilisation réduite de la mémoire pendant le chargement.

Cette version comprend d'autres correctifs ciblés concernant les performances. Nous avons corrigé des problèmes tels que la lenteur de 'Ide lors de la saisie avec la fenêtre Unity Explorer ouverte et le ralentissement lors de l'affichage de longues entrées du journal dans la fenêtre d'outils Unity.

Nous avons aussi apporté d'autres petites corrections et améliorations, comme des inspections pour vous aider à obtenir la bonne signature de méthode pour les méthodes [MenuItem], un correctif pour trouver l'emplacement de la documentation installée sur Linux, et une nouvelle notification pour vérifier que le paquet Rider est à jour dans votre projet. As always, the full details are listed in the changelog.

Plugins

Azure Toolkit pour Rider

Identification de la version d'Azure Functions Core Tools à utiliser

Rider détermine la version des Azure Functions Core Tools à utiliser en fonction de la propriété AzureFunctionsVersion de votre projet.

Si vous avez besoin d'installer une version spécifique d'Azure Functions Core Tools, vous pouvez utiliser Chocolatey, Brew ou npm, et indiquer le chemin à Rider dans Preferences / Settings | Tools | Azure | Functions.

Outils Azure Functions gérés par Rider

Par défaut, Rider gère les Azure Functions Core Tools pour vous. Il télécharge les outils nécessaires en fonction de votre projet et les maintient automatiquement à jour.

Markdown

Markdown

Si un fichier Markdown contient des instructions avec des commandes que vous devez exécuter dans votre terminal, vous pouvez exécuter ces commandes directement depuis le fichier Markdown grâce aux icônes d'exécution dans la gouttière.

Nous avons ajouté de nouvelles options à la barre d'outils flottante qui s'affiche sur la sélection de texte lorsque vous modifiez des fichiers Markdown. Grâce à cette barre d'outils, vous pouvez désormais sélectionner rapidement des styles d'en-tête et créer des listes. Vous pouvez la personnaliser en y ajoutant les options dont vous avez besoin. Pour ce faire, allez dans Preferences / Settings | Appearance & Behavior | Menus and Toolbars | Markdown Editor Floating Toolbar.

Markdown

Nous avons également ajouté une action Copy code snippet aux blocs Markdown qui permet de copier facilement du contenu dans le presse-papiers.

dotCover

dotCover dotUltimate

Nous avons implémenté une option pour signaler le code « not coverable » à exclure de l'analyse de la couverture. Cela permet d'exclure le code qui n'a pas besoin d'être testé dans le cadre du processus de couverture et d'obtenir des instantanés plus clairs. To use this feature, install the JetBrains.dotCover.MSBuild NuGet package and add the comments // dotcover disable/enable around the code. Pour en savoir plus, consultez ce ticket.

Prise en charge VCS

Ouverture de Preview Diff dans la fenêtre d'outils Commit

Ouverture de Preview Diff dans la fenêtre d'outils Commit

Nous avons déplacé l'icône Preview Diff de la barre d'outils Commit vers l'icône engrenage et l'avons renommée Show Diff Preview on Single Click. Ici, vous pouvez spécifier le comportement souhaité lorsque vous cliquez sur un fichier dans l'arborescence Changes : pour ce faire, sélectionnez un fichier ou ouvrez un aperçu diff.

Mise à jour d'Annotate with Git Blame

Mise à jour d'Annotate with Git Blame

Nous avons amélioré la fonctionnalité d'Annotate with Git Blame pour faciliter l'examen des changements introduits. Rider met en évidence la différence entre les lignes directement dans l'éditeur lorsque vous survolez une annotation, et si vous cliquez dessus, l'IDE ouvre la fenêtre d'outils Git Log.

Mise à jour du volet Commit Details dans la fenêtre d'outils Git

Le volet Commit Details comprend désormais des informations sur les signatures GPG et l'état de la build. Auparavant, ces données étaient seulement affichées dans une colonne du journal Git.

Git File History : nouvelle interface utilisateur sans index

La nouvelle interface utilisateur de la fenêtre d'outils Git File History est désormais indépendante du processus d'indexation. Les données sont représentées avec une nouvelle interface, même lorsque l'indexation des journaux est désactivée.

Auparavant, si l'historique d'un fichier n'était pas indexé, Rider affichait une vue de cet historique relativement lente et dépourvue de certaines fonctionnalités.

Autres

Renommer une solution

Renommer une solution

Le nommage peut être difficile. Il peut même parfois arriver de souhaiter changer le nom d'une solution tout entière. Rider peut vous aider. Appelez le menu contextuel du nœud de la solution dans la fenêtre d'outils Solution Explorer, sélectionnez Edit | Rename, puis indiquez le nouveau nom de votre solution.

Option SDK dans la boîte de dialogue New project

Option SDK dans la boîte de dialogue New project

Nous avons ajouté l'option SDK sous forme de liste déroulante dans la boîte de dialogue New solution/project. Elle peut vous aider à créer un projet pour d'anciennes versions du SDK .NET après avoir installé la nouvelle version.

Run Static Method

Run Static Method

L'action Run Static Method fonctionne pour les projets ciblant .NET et .NET Core. Vous pouvez exécuter n'importe quelle méthode statique directement depuis l'éditeur de code en cliquant sur le triangle vert « run » dans la marge de la gouttière.

Roslyn

Roslyn

Nous avons amélioré plusieurs aspects de la prise en charge des analyseurs et des générateurs de sources Roslyn :

  • Rider prend en charge les fichiers .globalconfig afin de configurer les règles d'analyse du code des analyseurs Roslyn.
  • Il transmet désormais la version correcte du langage aux analyseurs Roslyn.
  • Nous avons amélioré le processus de chargement et de lancement des générateurs et des analyseurs de sources. Il n'est plus nécessaire de redémarrer l'IDE pour résoudre le code généré à partir des générateurs de sources.
Nettoyage et Mise en forme du code

Nettoyage et Mise en forme du code

Nous avons réorganisé tous les éléments du menu Alt+Entrée liés au nettoyage et à la mise en forme du code. Format selection, Cleanup selection et Apply syntax style ont été combinés en un seul élément Reformat and Cleanup afin de fournir un point d'entrée unique.

En plus de ces changements, les paramètres du style syntaxique sont maintenant disponibles dans les actions Configure code style et Autodetect code style settings. Le volet Preview code style affiche également les changements de style de la syntaxe.

Prise en charge de NuGet

Nous avons mis à jour l'outil de sélection des icônes de paquets dans la page des propriétés du projet NuGet. Il utilise désormais de nouveaux éléments au lieu d'éléments obsolètes.

Amélioration de la prise en charge de l'attribut DebuggerDisplay

  • Lors de la présentation d'un type dérivé, le débogueur prend en compte l'attribut DebuggerDisplay même s'il est appliqué à la base.
  • Le débogueur prend en charge la spécification de l'attribut DebuggerDisplay au niveau de l'assembly.