Nouveautés de Rider 2024.2

Rider 2024.2 apporte la saisie semi-automatique de code en ligne entière pour les différents langages pris en charge, le mode lecteur avec rendu inline des commentaires de documentation, un nouvel onglet Tasks et des graphiques de dépendances des tâches pour le débogage, ainsi que l'amélioration de la navigation vers les membres de classes. Les mises à jour pour le développement de jeux incluent notamment l'intégration du plugin Godot et un débogage amélioré pour Unreal Engine. Cette version introduit également la prise en charge de la version Preview du SDK .NET 9, qui inclut la prise en charge initiale des fonctionnalités de C# 13. L'extension des fonctionnalités de cette version a bénéficié des améliorations apportées à l'AI Assistant, telles que l'amélioration de la saisie semi-automatique du code et la résolution des conflits des systèmes de contrôle de version assistée par IA.

Télécharger

Gratuit pour une utilisation non commerciale

Principales mises à jour

Prise en charge de SLNX

Nouveau !2024.2.6

Rider a enfin introduit la prise en charge du Solution File Persistence Model, alias le format .slnx pour les fichiers de solution, la dernière approche propre et rationalisée pour stocker toutes les données de solution. Avec Rider, vous pouvez désormais passer au nouveau format sans problème directement depuis Solution Explorer. Appelez simplement le menu contextuel du nœud de solution, accédez à Save As… et sélectionnez Save as XML Solution (.slnx). Vous aurez alors la possibilité d'ouvrir votre solution via le fichier .slnx nouvellement créé pour faciliter la transition vers le nouveau format.

Saisie semi-automatique du code en ligne entière pour C#, С++, JS/TS, CSS

Rider 2024.2 introduit la prise en charge d'un nouveau type de saisie semi-automatique du code : des suggestions de texte en gris sur une seule ligne qui complètent les déclarations en fonction du contexte du fichier actuel. Ces suggestions proviennent de modèles de langage qui s'exécutent localement sans envoyer de code sur internet.

Mode Lecteur

Le nouveau mode de lecture de Rider est conçu pour faciliter la lecture des bibliothèques et des fichiers en lecture seule, y compris les fichiers décompilés. Ce mode permet le rendu inline des commentaires de documentation pour C#, С++ et F#, ainsi que l'indentation virtuelle pour C#.

Onglet Tasks et graphique de dépendances des tâches

La fenêtre d'outils Debug comporte un nouvel onglet Tasks. Cet onglet fournit des informations détaillées sur les objets System.Threading.Tasks.Task et ValueTask, ce qui aide à mieux gérer et suivre les opérations asynchrones.

Les tâches peuvent être affichées sous forme de tableau ou de graphique. La vue tableau fournit les états et les métadonnées de tâches, tandis que la vue graphique montre les dépendances des tâches et aide à identifier les interblocages.

Amélioration de la navigation vers les membres d'une classe

La barre Navigation de Rider a été améliorée pour les langages C#, C++, VB et F#. Désormais, le chemin allant de la racine du projet au fichier sur lequel vous travaillez s'étend au symbole où le curseur est positionné. Lorsque vous cliquez sur un élément de la chaîne, y compris les classes, une fenêtre déroulante affichant ses nœuds enfants apparaît. Ainsi, vous pouvez naviguer jusqu'à n'importe quelle méthode dans une classe directement depuis la fenêtre contextuelle en un clic.

Développement de jeux

La dernière mise à jour de JetBrains Rider regorge d'améliorations significatives pour le développement de jeux. En voici quelques exemples :

  • À partir de Rider 2024.2, le plugin Godot est intégré. Cette mise à jour introduit également la prise en charge de GDScript pour la mise en évidence de la syntaxe, la saisie semi-automatique de code, Find Usages et le débogage.
  • La fenêtre d'outils Monitoring prend maintenant en charge les applications C++, ainsi que les projets Unity et Unreal Engine.
  • Rider 2024.2 fait aussi évoluer l'expérience de débogage pour Unreal Engine, avec une meilleure évaluation pour les pointeurs intelligents et les chaînes, un nouvel onglet Modules et des messages d'erreurs améliorés.

Passer directement aux mises à jour portant sur le développement de jeux.

Plugin .NET Aspire intégré

Le SDK .NET 8 a apporté .NET Aspire : une nouvelle approche pour aborder et gérer les problèmes complexes liés à la création d'applications distribuées sur la pile .NET. En réponse à cette innovation, JetBrains a introduit un nouvel outil intégré : le plugin .NET Aspire pour Rider.

À partir de cette version, le plugin .NET Aspire est fourni avec Rider. Ce plugin est livré avec un modèle de projet correspondant, que vous pouvez sélectionner lors de la configuration d'une nouvelle solution.

Prise en charge de la version Preview du SDK .NET 9

  • Prise en charge des modèles de projets du nouveau SDK.
  • Possibilité de créer, d'exécuter et de déboguer des projets ciblant le nouveau SDK.
  • Prise en charge initiale des nouvelles fonctionnalités de C# 13, notamment du nouveau caractère d'échappement, des refactorisations du modificateur params et des interfaces ref struct.

Expérience utilisateur

Nouvelle interface utilisateur activée par défaut

À compter de Rider 2024.2, la nouvelle interface utilisateur inaugurée dans les versions 2022.3 des IDE JetBrains devient l'interface par défaut pour tous les utilisateurs.

Si vous préférez l'ancien aspect de Rider, vous pouvez retourner à l'interface utilisateur classique en installant le plugin correspondant.

Prise en charge de la sélection de plusieurs paramètres dans les modèles de projets/solutions

Certains modèles de projet incluent des paramètres que vous pourriez vouloir configurer via une sélection à choix multiples. Par exemple, un modèle d'application multiplateforme peut avoir des options pour différents systèmes d'exploitation cibles, langues et localisations. C'est pourquoi Rider prend désormais en charge la sélection de plusieurs valeurs pour un paramètre de projet donné dans la boîte de dialogue New Solution.

Meilleure interface utilisateur pour la fenêtre contextuelle Usages of

Désormais, lorsque vous recherchez les utilisations d'une classe, méthode ou variable dans votre base de code, la fenêtre contextuelle Usages of (appelée en appuyant sur Cmd/Ctrl+clic) présente un aspect plus simple, avec plusieurs options de filtrage.

Boîte de dialogue Customize Main Toolbar améliorée

Nous avons modifié la disposition et le comportement des éléments de l'interface utilisateur dans la boîte de dialogue Customize Main Toolbar, afin de la rendre plus claire et intuitive. Il est désormais plus facile de rechercher, d'ajouter et de supprimer des actions dans la barre d'outils principale.

Éditeur

Rendu inline des commentaires de documentation pour C#, C++, F#

Au lieu d'un mur de texte mélangé avec des balises, le rendu inline affiche ces commentaires avec des liens et des blocs de code. Plus de problème avec les balises ambiguës, tout est beaucoup plus clair et lisible. Vous pouvez l'utiliser dans tout fichier C#, C++ ou F# pour bénéficier d'une meilleure expérience de lecture.

Mise en évidence sémantique pour C# et C++

Nous avons ajouté la prise en charge de la mise en évidence sémantique pour C# et C++. Cette fonctionnalité a été conçue pour vous aider à distiguer les différents paramètres et variables locales dans le code par couleur. Vous pouvez l'activer ou la désactiver dans Settings/Preferences | Editor | Color Scheme | Language Defaults | Semantic Highlighting.

Prise en charge de la syntaxe mathématique dans les fichiers Markdown

Rider peut désormais restituer nativement des expressions mathématiques dans les fichiers Markdown. Lorsque vous travaillez avec Markdown, vous pouvez utiliser $ pour insérer des expressions mathématiques inline et $$ pour les blocs de code incluant du contenu mathématique.

Paramètres propres au langage pour les lignes épinglées

Il est désormais possible de définir des lignes épinglées plus précisément et de choisir les langages pour lesquels elles doivent apparaître. Vous pouvez adapter la fonctionnalité à vos préférences dans Settings/Preferences | Editor | General | Sticky Lines ou en appelant le menu contextuel par un clic droit sur une ligne épinglée dans l'éditeur.

Prise en charge de C#

Cette nouvelle version de Rider étend la prise en charge des fonctionnalités de C# 12, en incluant notamment les constructeurs principaux, les expressions de collection étendues et les actions contextuelles améliorées pour la création de tableaux et les conversions de types de collections. De plus, Rider 2024.2 apporte la prise en charge des premières fonctionnalités de C# 13, parmi lesquelles l'implémentation d'interface ref struct, la nouvelle séquence d'échappement \e et la refactorisation du modificateur params.

Cette mise à jour inclut également :

  • L'amélioration de l'analyse d'égalité pour les types struct.
  • L'inspection Extract common code pour réduire les duplications dans les constructions de branches.
  • Les aperçus de culture lors de la saisie semi-automatique du code du spécificateur de format ToString().
  • L'analyse des expressions de conversion pour remplacer les conversions fragiles de style C par des annotations de type explicites.

Consultez cet article de blog pour en savoir plus sur les nouveautés de Rider et de ReSharper 2024.2 concernant la prise en charge de C#.

Prise en charge de F#

F# interactive

Nous avons ajouté la prise en charge du débogage des scripts F# et avons également apporté plusieurs améliorations et corrections à la fenêtre d'outils F# Interactive.

Importation des membres d'extension

L'importation des membres d'extension est désormais prise en charge via la saisie semi-automatique du code et les correctifs rapides correspondants.

Nouvelle action contextuelle

Il est désormais possible de convertir les applications de fonctions partielles et les lambdas F# 8 courtes en expressions lambda normales.

Suggestions de noms dans les modèles

La saisie semi-automatique pour les modèles fait maintenant des suggestions de noms intelligentes basées sur des types de valeur, y compris pour les modèles complexes. Elle fonctionne selon la même que celle qui est utilisée dans la refactorisation Rename et les actions de déconstruction de modèles.

Vous trouverez plus d'informations sur les autres correctifs de bugs et les améliorations de la prise en charge de F# ici.

AI Assistant

Améliorations générales de l'AI Assistant

Dans la version 2024.2, l'AI Assistant fournit une saisie semi-automatique du code améliorée et la génération de code dans l'éditeur. Le chat par IA s'appuie désormais sur GPT-4o et les références de fichiers pour une meilleure compréhension du contexte. Les nouvelles fonctionnalités incluent l'intégration de l'IA dans le terminal pour la génération de commandes, la résolution des conflits de systèmes de contrôle de version assistée par IA, et les prompts personnalisables pour la documentation. De plus, vous pouvez maintenant spécifier la langue dans laquelle vous souhaitez interagir avec le chat par IA dans Settings.

Explain with AI pour l'analyse dynamique de programme (DPA)

La fenêtre d'outils Dynamic Program Analysis (DPA) comprend maintenant un bouton Explain with AI pour les problèmes liés à l'allocation de mémoire et aux bases de données. Cette fonctionnalité basée sur l'IA fournit des explications détaillées et des conseils via l'AI Assistant concernant les correctifs possibles directement dans la fenêtre d'outils Dynamic Program Analysis pour vous aider à comprendre et à résoudre rapidement les problèmes les plus complexes liés à l'allocation de mémoire et au travail avec les bases de données.

Systèmes de contrôle de version

Mise à jour de la boîte de dialogue Local History

Nous avons modernisé l'interface utilisateur de la boîte de dialogue Local History. De plus, lorsqu'elle est appelée pour un répertoire, une vue différentielle s'affiche désormais à côté de la liste des modifications, ce qui facilite leur compréhension.

Amélioration de l'expérience utilisateur pour la fenêtre d'outils Log

Tous les paramètres liés à la fenêtre d'outils Log ont été regroupés dans une page de paramètres dédiée, à laquelle vous pouvez accéder via Settings/Preferences | Version Control | Log ou via un nouveau menu déroulant de la barre d'outils dans la fenêtre d'outils Log. De plus, vous pouvez maintenant ouvrir le journal Git en tant qu'onglet dans l'éditeur, ce qui fournit davantage d'espace et facilite la navigation dans la liste des commits et les détails correspondants. Cette action est disponible via le même menu déroulant dans la barre d'outils de la fenêtre.

Développement de jeux

Godot

Bonne nouvelle ! Le plugin Godot est maintenant intégré avec Rider 2024.2, ce qui permet une prise en charge directe des principaux moteurs de jeux. La prise en charge de l'utilisation de Godot en C# inclut notamment : les configurations d'exécution et de débogage pour l'éditeur Godot et les jeux, la saisie semi-automatique du code pour les littéraux de chaîne InputAction et NodePath et les extensions de débogueur pour visualiser la scène actuelle et le nœud enfant.

De plus, Rider 2024.2 apporte les nouvelles fonctionnalités suivantes :

Prise en charge de GDScript

Rider prend désormais en charge GDScript, ce qui inclut notamment la mise en évidence de la syntaxe, la saisie semi-automatique du code et Find Usages, grâce à la prise en charge de LSP fournie par l'éditeur Godot. L'IDE s'intègre aussi parfaitement avec le plugin GDScript développé par la communauté. Si le plugin est installé, il est utilisé pour Find Usages, mais le LSP de Godot est utilisé pour la mise en évidence des erreurs.

Débogage pour GDScript

Cette version apporte également la prise en charge du débogage pour GDScript. Rider génèrera les configurations d'exécution nécessaires pour connecter le débogueur et vous pourrez ensuite utiliser toutes les fonctionnalités de débogage de Rider pour déboguer vos jeux GDScript.

Intégration de l'AI Assistant

L'AI Assistant de Rider appréhende mieux le contexte pour les projets Godot. L'AI Assistant est maintenant capable de savoir que vous travaillez sur un projet Godot et de vous fournir les réponses adaptées à votre environnement.

Unreal Engine

Améliorations du débogueur

Cette version se distingue par l'apport de mises à jour majeures pour le débogueur natif, avec de nombreuses améliorations de l'évaluation, notamment pour les pointeurs intelligents et les comparaisons d'égalité pour les chaînes, les points d'arrêt des données, et lorsque vous travaillez avec du code optimisé. Un nouvel onglet Modules a été ajouté à la fenêtre d'outils Debug pour afficher toutes les bibliothèques dynamiques chargées pendant le débogage. Même les messages d'erreurs ont été améliorés !

Consultez cet article de blog pour prendre connaissance du détail des modifications.

Fenêtre d'outils Monitoring

Rider 2024.2 apporte une prise en charge étendue de la fenêtre d'outils Monitoring introduite dans la précédente version, qui prenait seulement en charge les applications C# et .NET. Cela permet de suivre l'utilisation du processeur et de la mémoire, ainsi que d'autres métriques de performance. Cela fonctionne automatiquement pour les applications C++, y compris pour les jeux Unreal. Consultez la documentation pour en savoir plus.

Nouvelles inspections et analyses du code

Cette version fournit plusieurs nouvelles inspections pour le code C++ et Unreal. Rider détecte les appels manquants à Super dans BeginDestroy et GetLifetimeReplicatedProps, et fournit un correctif rapide avec Alt+Entrée. Il reconnaît également les traits de modèle et garantit que vos structures disposent des méthodes requises, en les générant rapidement si ce n'est pas le cas. De plus, Rider reconnaît désormais les types de couleurs d'Unreal et fournit ainsi la mise en évidence dans l'éditeur et un sélecteur de couleurs disponible avec le raccourci Alt+Entrée.

Saisie semi-automatique de code en ligne entière

C++ bénéficie de la prise en charge de la saisie semi-automatique de code en ligne entière par Rider, en utilisant des modèles sur l'appareil non connectés au cloud. Ainsi, vous bénéficiez des avantages de la saisie semi-automatique de code générée par IA sans avoir à partager votre code.

Informations sur la disposition des membres de structures

Il s'agit d'une autre mise à jour utile d'une fonctionnalité ayant été introduite dans la précédente version, qui consiste dans l'ajout des informations sur la disposition des membres de la structure dans l'info-bulle de documentation rapide. Survolez un membre et vous verrez la taille de ce champ, l'alignement, ainsi que la distance par rapport au début de la structure le contenant. C'est un excellent moyen pour comprendre la disposition de vos données.

Et enfin…

Bien sûr, nous avons travaillé sur d'autres évolutions en parallèle. Nous avons apporté plusieurs mises à jour aux lignes épinglées, concernant notamment les directives du préprocesseur et la spécification d'accès actuelle, ce qui permet de toujours savoir si votre code est public ou privé.

Par ailleurs, plusieurs autres fonctionnalités et correctifs ont été ajoutés, tels que la prise en charge des tests de bas niveau, le changement de nom automatique du fichier .cpp lorsqu'un fichier d'en-tête est renommé et inversement, et l'accès à l'action du menu « Why is Rider suggesting this? » avec le raccourci Alt+Entrée.

Unity

Prise en charge du suivi

Rider 2024.1 avait introduit une fenêtre d'outils Monitoring très utile, permettant de suivre l'utilisation du processeur et de la mémoire, ainsi que d'autres métriques de performance. Cette version élargit sa prise en charge pour y inclure Unity, ce qui permet de voir l'utilisation du processeur et de la mémoire lors de l'attachement à l'éditeur Unity.

Prise en charge de Tuanjie

Rider prend maintenant en charge Tuanjie, l'éditeur de Unity China, avec le même ensemble de fonctionnalités que l'éditeur Unity d'origine.

Mises à jour pour les variantes de shaders

La prise en charge de Rider pour les mots-clés de variantes de shaders fonctionne désormais avec les shaders de calcul, ce qui vous permet d'activer et de désactiver la mise en évidence pour les mots-clés dans les branches du préprocesseur. Rider affiche désormais le nom du pass du shader dans le widget contextuel de shader, ce qui permet de savoir d'où le shader est utilisé.

Cette version inclut également un ensemble de fonctionnalités et de correctifs moins importants, notamment des mises à jour pour la correction des faux positifs pendant l'exécution des inspections Burst.

Développement web

Exécutez et déboguez directement les fichiers TypeScript

Vous pouvez désormais exécuter et déboguer des fichiers TypeScript sans aucune configuration supplémentaire. Les fichiers TypeScript peuvent être éxécutés à partir de différents points d'entrée, notamment à partir du menu contextuel du fichier, du widget Run et de la configuration Current File.

Prise en charge améliorée pour les principaux frameworks JS

Rider 2024.2 est capable de résoudre les chemins pour les frameworks qui utilisent un routage basé sur le système de fichiers. Il peut résoudre les chemins de liens en fonction du système de fichiers de votre projet, et offre la saisie semi-automatique et la navigation pour Next.js, Nuxt, SvelteKit et Astro. Les nouveaux extraits de code et balises de rendu Svelte 5 sont également pris en charge. Nous avons aussi implémenté la prise en charge du protocole de serveur de langage (LSP) pour Astro et mis à niveau le LSP de Vue vers Vue Language Tools 2, ce qui améliore la saisie semi-automatique du code et l'expérience globale des développeurs.

Pour des informations plus détaillées, consultez la page Nouveautés de WebStorm.

Travailler avec des bases de données

Voici quelques-unes des améliorations les plus notables concernant l'utilisation des bases de données dans Rider 2024.2 :

  • Chargeurs scriptés : importez des données aux formats Excel, JSON, Parquet et shapefile avec les chargeurs scriptés personnalisés.
  • Lignes associées via la barre d'outils flottante : accédez aux lignes associées en utilisant la barre d'outils flottante de la cellule de la table.
  • Visualiseur de données géographiques : explorez les données géographiques, notamment aux formats CSV et XLSX.

Pour des informations plus détaillées, consultez la page Nouveautés de DataGrip.

Développement à distance

Code With Me (CWM)

Dans cette itération, nous avons amélioré différents aspects de l'expérience de saisie lors de l'utilisation de CWM. Ces améliorations incluent une meilleure saisie semi-automatique du code, une modification plus fluide du code, une mise en évidence plus précise des éléments de syntaxe, des live templates plus précis, ainsi qu'une fonctionnalité Undo plus robuste. Vous trouverez une mise à jour de statut plus technique ici.

Prenez le temps d'essayer CWM et parlez-nous de votre expérience.

Plugins

dotTrace

dotUltimate

Amélioration des performances

dotTrace a fait l'objet de plusieurs améliorations des performances, notamment pour un traitement plus rapide des instantanés de Timeline et des données des vues Call Tree et Hotspots.

dotMemory

dotUltimate

Nouvelles vues

Le plugin dotMemory intégré permet désormais d'analyser automatiquement les instantanés et de comparer ceux qui sont contenus dans les différents espaces de travail de dotMemory. Cela a impliqué l'introduction de deux vues supplémentaires :

  • Inspections automatiques de la mémoire : dotMemory dispose maintenant de la vue Inspections, qui montre les problèmes d'utilisation de la mémoire automatiquement détectés.
  • Comparaison des instantanés de différents espaces de travail : vous pouvez désormais comparer des instantanés de différentes sessions de profilage, ce qui permet une analyse plus complète de la mémoire.

Ces fonctionnalités sont également disponibles dans la version autonome de dotMemory.

Amélioration de la recherche d'instances

Nous avons ajouté des options de filtrage à la vue Instances :

  • Recherche par valeur de chaîne : saisissez n'importe quelle valeur de chaîne dans le champ de filtre et dotMemory mettra en évidence les chaînes correspondantes. Cela simplifie la recherche d'instances de chaînes spécifiques en fonction de leur contenu.
  • Prise en charge des expressions régulières pour les valeurs de chaînes : utilisez des expressions régulières pour des recherches plus approfondies. Par exemple, ^nAsso.{5,}ID$ correspond à nAssociatedObjectID.nAssociatedObjectID.
  • Recherche par adresse d'objet : vous pouvez également rechercher des instances d'objets en fonction de leur adresse en mémoire. Cela permet de suivre directement des objets spécifiques.

Visualisation de Call Tree avec un graphique Sunburst

Le Call Tree peut désormais s'afficher sous forme de graphique Sunburst (rayons de soleil), afin de mettre en évidence les fonctions qui allouent le plus de mémoire.

Intégration du plugin .NET Watch Run Configuration

Á partir de la version 2024.2, le plugin .NET Watch Run Configuration est fourni avec Rider. Plus besoin de télécharger .NET Watch Run Configuration via la Marketplace de JetBrains. Vous bénéficiez instantanément de toute la puissance de dotnet-watch dans vos solutions.

Pour en apprendre plus sur les fonctionnalités du plugin, consultez cet article de blog.

Décompilateur

Améliorations générales

  • Paramètres des lambdas : nous avons introduit la prise en charge de la décompilation des lambdas avec des paramètres optionnels et des tableaux de paramètres, afin d'améliorer la lisibilité et la précision du code décompilé.
  • Attributs des lambdas : la nouvelle version de l'outil permet de mieux traiter les attributs des expressions lambdas afin que toutes les métadonnées pertinentes soient prises en compte dans la sortie décompilée.
  • Assemblies protégées : vous avez désormais la possibilité de spécifier si vous souhaitez décompiler les assemblies protégées, ce qui permet un examen du code plus complet.

Traitement des sources externes

  • PDB avec SrcSrv et SourceLink : le décompilateur prend maintenant en charge la navigation vers le code source depuis les fichiers PDB contenant à la fois SrcSrv et SourceLink.
  • Directives du préprocesseur : le décompilateur reconnaît désormais correctement les directives du préprocesseur (telles que NET6_0_OR_GREATER) du framework cible ou du PDB Portable de l'assembly associé, ce qui garantit une représentation rapide du code.

Détection de configuration de build

La fenêtre d'outils Assembly Explorer peut maintenant détecter et présenter la configuration du build des assemblies et ainsi fournir des informations plus claires sur le contexte de compilation de l'assembly.

Autres améliorations

Passage à JBR21

Nous passons de JetBrains Runtime 17 (JBR17) à JetBrains Runtime 21 (JBR21). À partir de Rider 2024.2, toutes les mises à jour de l'IDE intégreront JBR21, ce qui offre davantage de sécurité, de meilleures performances et la prise en charge du rendu Wayland pour Linux.

Plugins de localisation intégrés

Les packages de localisation pour le chinois, le coréen et le japonais sont désormais intégrés avec l'IDE.