Principales mises à jour
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.
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 EDI 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
JetBrains a 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++
JetBrains a 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 à distinguer 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.
Prise en charge de F#
- F# interactive : JetBrains a ajouté la prise en charge du débogage des scripts F# et a é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.
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
JetBrains a 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'EDI 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 !
- 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.
- 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, JetBrains a travaillé sur d'autres évolutions en parallèle. L'éditeur de logiciels pour développeurs a 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. JetBrains a 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.
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.
Développement à distance
Code With Me (CWM)
Dans cette itération, JetBrains a 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.
Plugins
[dotTrace] 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] 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.
[dotMemory] Amélioration de la recherche d'instances
JetBrains a 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.
[dotMemory] 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.
Décompilateur
Améliorations générales
- Paramètres des lambdas : JetBrains a 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
Rider passe de JetBrains Runtime 17 (JBR17) à JetBrains Runtime 21 (JBR21). À partir de Rider 2024.2, toutes les mises à jour de l'EDI intégreront JBR21, ce qui offre davantage de sécurité, de meilleures performances et la prise en charge du rendu Wayland pour Linux.
Nouveautés et téléchargement de Rider 2024.2