Nouveautés de Rider

Rider 2023.2 améliore la prise en charge de C# et apporte de nouvelles inspections pour travailler avec les fonctions locales et les chaînes brutes, ainsi que pour résoudre les problèmes courants liés à Entity Framework. Nous avons aussi apporté plusieurs améliorations à l'interface utilisateur et finalisé le nouvel aspect de l'IDE afin de le rendre plus esthétique, moderne et hautement personnalisable. Le développement de jeux avec Rider a reçu un nouveau coup de boost significatif avec, entre autres, des mises à jour de la fonctionnalité DOTS et l'optimisation de l'indexation des Blueprints pour Unreal Engine. Rider 2023.2 est également la première version de l'IDE à offrir des fonctionnalités assistées par IA via le plugin JetBrains AI Assistant.

Principales mises à jour

En-têtes de projet personnalisables

En-têtes de projet personnalisables Nouvelle interface utilisateur

Rider 2023.2 facilite la navigation entre plusieurs projets ouverts grâce aux en-têtes de différentes couleurs ! Les couleurs des en-têtes sont prédéfinies par défaut mais vous pouvez les modifier. Pour définir une nouvelle couleur pour un projet, faites un clic droit sur un en-tête pour accéder au menu contextuel, puis sélectionnez l'option Change Toolbar Color et choisissez une couleur. Pour désactiver cette fonctionnalité, désélectionnez simplement l'option Use Project Colors in Toolbar dans le menu contextuel.

AI Assistant

AI Assistant Accès limité

Cette version marque l'ajout d'une fonctionnalité majeure à Rider : AI Assistant. Actuellement, les fonctionnalités générées par IA fournissent un chat intégré et une assistance pour plusieurs workflows utilisateurs essentiels de l'IDE. L'AI Assistant peut analyser le code sélectionné, expliquer la signification d'un commit et créer des fichiers Unity conformes à vos spécifications.

En savoir plus

Fenêtre d'outils Build remaniée

Pour Rider 2023.2, nous avons remanié la fenêtre d'outils Build afin d'améliorer aussi bien les performances que l'expérience/interface utilisateur. Les résultats de sortie de build sont maintenant présentés sous la forme d'un arbre d'événements à gauche et d'un journal à droite. La sortie sera chargée en mode « lazy », c'est dire que seuls les détails du build que vous choisissez d'examiner dans l'arborescence d'événements seront chargés et affichés, ce qui réduit l'utilisation du processeur et facilite la navigation.

Intégration de GitLab

Rider 2023.2 introduit l'intégration initiale avec GitLab, ce qui vous permet de travailler directement avec la fonctionnalité Merge Requests depuis l'IDE et d'optimiser votre workflow de développement.

Analyse du code

Prise en charge de C#

Amélioration de la prise en charge des chaînes brutes

Rider fournit de nouvelles inspections C# et des actions contextuelles pour le travail avec les chaînes brutes, améliore l'assistance à la saisie et apporte de nouvelles options de formatage :

  • L'inspection Use raw string sert à convertir les chaînes textuelles sur plusieurs lignes en représentations brutes.
  • L'inspection Simplify raw string permet de supprimer les guillemets et les symboles de signe dollar qui deviennent redondants.
  • Plusieurs actions contextuelles permettent d'ajouter ou de supprimer des guillemets, des accolades d'interpolation et des symboles de signe dollar et de basculer facilement entre les représentations sur une seule ligne et sur plusieurs lignes.
  • Avec les nouvelles options de formatage de texte vous pouvez aligner ou indenter le contenu des chaînes brutes.
  • Amélioration de l'aide à la saisie lors de l'utilisation des touches Entrée, Supprimer ou Retour arrière.

Consultez cet article pour en savoir plus sur la prise en charge améliorée des chaînes brutes.

Inspections pour les problèmes courants liés à Entity Framework

Inspections pour les problèmes courants liés à Entity Framework

Nous avons ajouté plusieurs nouvelles inspections, des correctifs rapides et des options de navigation contextuelle pour les problèmes courants survenant lorsque vous travaillez avec des bases de données avec un framework ORM (Object-Relational Mapping) comme Entity Framework.

  • En cas de problème « N+1 », vous disposez des inspections Possible multiple queries to the database for related entities (N+1 problem) et Possible multiple queries to the database (N+1 problem), d'un correctif rapide correspondant et de la navigation contextuelle avec des allers-retours afin d'examiner les sections de votre code dans lesquelles vous risquez de rencontrer un problème « N+1 ».
  • En plus de la détection des problèmes « N+1 », nous avons introduit une autre inspection utile lorsque vous travaillez avec Entity Framework : Query can return incomplete data for related entities. Un correctif rapide et la navigation contextuelle avec des allers-retours pour vous aider à analyser ce problème sont également disponibles.

Vous trouverez plus d'informations sur les nouvelles inspections liées à Entity Framework dans cet article.

Inspections pour travailler avec des fonctions locales

Rider 2023.2 introduit deux nouvelles inspections et les correctifs rapides correspondants afin d'améliorer la lisibilité du code avec les fonctions locales :

  • Une recommandation pour placer un paramètre return ou continue explicite avant les fonctions locales à la fin d'une méthode.
  • Une suggestion pour déplacer les fonctions locales à la fin d'une méthode ou d'un bloc et les séparer du code exécutable avec une instruction explicite return, continue, ou d'une autre instruction de déplacement de flux de contrôle.

Lisez cet article pour plus de détails sur les nouvelles inspections.

Inspections pour les directives #nullable et les annotations NRT

Inspections pour les directives #nullable et les annotations NRT

Plusieurs nouvelles inspections sont disponibles pour les directives #nullable et les annotations NRT :

  • L'inspection Redundant nullable directive ;
  • L'inspection Unused nullable directive ;
  • Une inspection pour vous alerter lorsque les annotations de type de référence nullable (NRT) contredisent les attributs JetBrains.Annotations sur un membre de base.

Pour en savoir plus sur ces inspections, consultez cet article.

Navigation depuis les déclarations var améliorée

Navigation depuis les déclarations var améliorée

Toutes les actions de navigation (Go to…, Find Usages, etc.) suggèrent désormais les types sous-jacents lors de la navigation depuis var pour les types communs utilisés pour englober d'autres types. Par exemple, Rider suggère la navigation vers Person lors de l'utilisation de l'action Go to declaration depuis le mot-clé var d'une variable de type ImmutableArray<Person>?.

Vous trouverez plus d'informations dans cet article.

Constructeurs primaires Préversion de C# 12

La version 2023.2 de Rider apporte la prise en charge des constructeurs primaires pour les classes autres que record et les structs de la version preview de C# 12. Plusieurs inspections détectent les types pour lesquels l'initialisation peut être exprimée par de nouveaux constructeurs primaires et suggèrent l'application d'un correctif rapide pour réduire de façon significative les répétitions de code.

Parfois, l'initialisation du type doit être moins triviale et ne peut plus être exprimée par l'utilisation d'un constructeur primaire. C'est pourquoi nous avons introduit deux actions contextuelles qui permettent d'annuler le remplacement des paramètres de constructeurs primaires par constructeurs et champs ordinaires.

Pour en apprendre plus sur ces fonctionnalités de constructeurs primaires et en découvrir d'autres en action, consultez cet article.

Prise en charge des valeurs de paramètres par défaut dans les lambdas

Prise en charge des valeurs de paramètres par défaut dans les lambdas Préversion de C# 12

Dans le cadre de notre travail d'intégration des mises à jour de C# 12, nous avons introduit la prise en charge des valeurs de paramètres par défaut dans les expressions lambdas. En plus de l'ensemble de messages d'avertissement standard associés à la reconnaissance de cette syntaxe, nous avons adapté une inspection existante, The parameter has the same default value, pour prendre en compte les valeurs des paramètres par défaut dans les lambdas. Vous trouverez plus d'informations à ce sujet ici.

Meilleure prise en charge des ressources remplaçables

Rider 2023.2 introduit deux nouvelles inspections de code conçues pour mieux contrôler l'élimination d'un objet :

  • L'inspection Return of a variable captured by ‘using' statement vous avertit lorsque l'objet renvoyé est supprimé immédiatement.
  • L'inspection Return of a task produced by ‘using'-captured object identifie les scénarios dans lesquels une Task est produite par un objet capturé par une instruction using et renvoyée immédiatement.

Nous avons aussi amélioré la fonctionnalité Generate dispose pattern pour prendre en charge l'interface IAsyncDisposable et générer une méthode asynchrone pour libérer les ressources.

Vous trouverez plus de détails sur ces ajouts ici.

Meilleure prise en charge des discards C#

Plusieurs ajouts à la prise en charge des discards C# ont été faits pour l'analyse du code :

  • Il est désormais possible de vérifier rapidement les noms et les types des valeurs ignorées avec la fonctionnalité Push-to-Hint.
  • L'avertissement The _ name is typically reserved for local parameters without usages signale les variables et les paramètres nommés _, qui sont réellement utilisés. Ils semblent être des valeurs « ignorées », mais en fait c'est le contraire.
  • L'inspection Use discard assignment permet de remplacer une variable et un paramètre non utilisés par un discard.

Consultez cet article pour en savoir plus sur la prise en charge améliorée des discards.

Nouveaux conseils d'insertion pour une meilleure lisibilité du code

Nouveaux conseils d'insertion pour une meilleure lisibilité du code

Conseils d'insertion avec noms de composant de tuple

Lorsque vous transférez une valeur à un argument de tuple ou un type de retour, C# permet d'ignorer les noms de composants. Cependant, en l'absence de noms, il devient plus difficile d'interpréter la signification de chaque composant sans examiner son type cible. Par exemple, de nombreux développeurs doivent rechercher le point d'affectation d'un tuple (null, false) pour comprendre ce que signifient ses composants.

C'est là que les conseils d'insertion peuvent vous aider. Rider 2023.2 affiche des conseils d'insertion avec les noms de composants de tuple lorsque ces noms ne sont pas déjà apparents au niveau de l'expression du composant, ce qui rend votre code beaucoup plus facile à lire et comprendre rapidement.

Pour les composants null et par défaut, Rider 2023.2 affiche des conseils sur leurs types cibles, même si le composant cible n'a pas de nom explicite. Il fait toutefois une exception pour les types chaîne et objet, car ces derniers sont généralement peu informatifs.

Les noms améliorent également la lisibilité des modèles de déconstruction où le nom explicite est connu soit par la méthode Deconstruct, soit par les composants du tuple source. Ces conseils ont été développés pour vous fournir davantage de contexte lorsqu'un modèle ne contient pas suffisamment de données pour comprendre ce qui est mis en correspondance, comme dans value is ({ }, true, null).

Meilleure prise en charge des directives #pragma warning

Meilleure prise en charge des directives #pragma warning

Les directives Pragma permettent de désactiver ou de restaurer facilement les avertissements du compilateur en fonction de leur ID. Cependant, si ces ID sont un excellent moyen de communiquer avec le compilateur, ils peuvent être difficiles à comprendre pour les développeurs humains. Sans connaissances approfondies, il n'est pas évident de savoir à quoi fait référence un ID tel que CS0168 ou CS0618, ni ce qui nécessite votre attention.

Interface/Expérience utilisateur

Avec cette version, la nouvelle interface de l'IDE, dévoilée pour la première fois dans Rider 2022.3, devient finalement l'interface par défaut pour tous les nouveaux utilisateurs. Si vous n'avez l'avez pas encore fait, nous vous invitons à l'essayer en l'activant dans Settings / Preferences | Appearance & Behavior | New UI | Enable new UI.

Zoom complet dans l'IDE

Menu latéral remanié dans la barre d'outils principale sous Windows et Linux Nouvelle interface utilisateur

Nous avons perfectionné le comportement du menu latéral situé dans la barre d'outils principale de la nouvelle interface utilisateur pour Windows et Linux. Lorsque vous cliquez sur l'icône du menu, les éléments s'affichent désormais horizontalement sur la barre d'outils.

Configurations d'exécution épinglées

Épingler les configurations d'exécution dans le widget Run Nouvelle interface utilisateur

Afin de simplifier la gestion de multiples configurations d'exécution, nous avons implémenté une option qui permet d'épingler les configurations préférées dans le widget Run. Pour épingler une configuration d'exécution dans la section Pinned, ouvrez le menu kebab (trois points verticaux) situé à côté de son nom et sélectionnez Pin. Si vous avez plusieurs configurations épinglées, vous pouvez facilement les réorganiser dans la liste par glisser-déposer.

Zoom complet dans l'IDE

Personnalisation de la barre d’outils principale améliorée Nouvelle interface utilisateur

Nous avons ajouté des options de personnalisation pour la barre d'outils de la nouvelle interface utilisateur. Vous pouvez désormais utiliser un menu déroulant pour choisir rapidement les actions que vous voulez ajouter à la barre d'outils. Faites un clic droit sur n'importe quel widget et sélectionnez Add to Main Toolbar pour voir les options disponibles.

Thème clair avec en-têtes clairs

Thème Light avec en-tête clair Nouvelle interface utilisateur

Pour cette version 2023.2, nous avons affiné l'expérience utilisateur avec le thème Light en introduisant l'option Light with Light Header, qui propose des couleurs claires assorties pour les en-têtes de fenêtres, les infobulles et les bulles de notification.

Navigation en un clic entre les dossiers de projets

Navigation en un clic entre les dossiers de projets

La fenêtre d'outils Solution Explorer comporte la nouvelle option Open Directories with Single Click qui rend le développement et la réduction des dossiers de projet plus rapides et réactifs. Cette option est disponible dans le menu kebab (trois points verticaux).

Tri des fichiers par heure de modification dans Solution Explorer

Tri des fichiers par heure de modification dans Solution Explorer

En réponse à une forte demande de la part de nos utilisateurs, Rider 2023.2 permet maintenant d'organiser vos fichiers dans Solution Explorer en fonction de leur heure de modification. Cette nouvelle fonctionnalité réorganise automatiquement les fichiers lorsque vous enregistrez les modifications de votre projet. Pour l'activer, ouvrez le menu kebab (trois points) dans Solution Explorer, puis sélectionnez Tree Appearance | Sort by Modification Time.

AI Assistant Accès limité

Les versions 2023.2 des IDE basés sur IntelliJ et des outils .NET inaugurent une fonctionnalité majeure : AI Assistant. Nous n'en sommes qu'au début de son développement, mais vous pouvez l'essayer afin de bénéficier de l'assistance de l'IA dans les principaux workflows utilisateurs et de fonctionnalités d'IA avancées pour la compréhension du code. En savoir plus dans notre aide web.

Actuellement, AI Assistant n'est pas inclus dans les versions stables des IDE JetBrains, mais il peut être installé en tant que plugin séparé pour les versions 2023.2.x. L'accès à la fonctionnalité AI Assistant est limité pour le moment et nous avons mis en place une liste d'attente.

Chat avec l'AI Assistant

Chat avec l'AI Assistant

Utilisez la fenêtre d'outils AI Assistant pour interagir avec le LLM, poser des questions ou itérer sur une tâche. L'IDE fournit un contexte spécifique en fonction du projet, qui prend notamment en compte les langages et les technologies utilisés. Une fois que vous êtes satisfait du résultat, utilisez la fonction Insert Snippet at Caret pour placer le code généré par IA dans l'éditeur ou faies simplement un copier-coller.

Menu AI Actions…

Menu AI Actions…

Vous pouvez sélectionner un fragment de code spécifique dans l'éditeur et appeler une action du menu contextuel AI Actions….

L'AI Assistant peut vous aider à :

  • Expliquer le code sélectionné.
  • Rechercher les problèmes potentiels et les options de refactorisation.
  • Démarrer une nouvelle discussion au sujet du code sélectionné en utilisant le chat par AI.

Générer et expliquer un message de commit

La boîte de dialogue de message de commit comporte désormais un bouton Generate Commit Message with AI Assistant. Cliquez sur ce bouton pour envoyer les diffs de vos modifications au LLM, qui générera un message de commit décrivant vos modifications. Vous pouvez également demander à l'AI Assistant d'expliquer les commits de vos collègues.

AI-Assisted Unity F

Génération de fichier Unity assistée par IA

L'AI Assistant peut également vous aider à générer un fichier pour une solution Unity écrite selon vos spécifications. Faites un clic droit sur un projet dans Solution Explorer, sélectionnez Create with AI Assistant dans le menu contextuel, puis écrivez votre prompt. Une fois que l'IA a généré le contenu du fichier, cliquez sur Create New File pour qu'il soit automatiquement ajouté à votre projet.

Performances

Avec Rider 2023.2, nous avons revu notre approche de la mise en cache des données requises par l'IDE pour faire fonctionner ses systèmes. Cette révision, dont l'efficacité a été confirmée par une myriade de tests des performances, a permis de réduire la consommation d'espace disque de façon significative pour chaque solution que vous ouvrez. Dans la pratique, cela réduit le temps consacré aux entrées/sorties de disque et accélère le chargement des solutions.

Navigation et recherche

Find Usages Advanced

Find Usages Advanced

Find Usages a fait l'objet d'une mise à niveau fonctionnelle dans Rider 2023.2. Dorénavant, si vous appelez Find Usages Advanced sur un symbole (tel qu'une méthode, une classe ou une variable), l'IDE affiche une fenêtre dans laquelle vous pouvez spécifier des critères de recherche supplémentaires.

Consultez cet article sur notre blog pour en savoir plus.

Options de navigation

Afin d'améliorer votre expérience de navigation dans la base de code, nous avons ajouté plusieurs options sur la page Search and Navigation dédiée, dans la section Settings / Preferences | Editor.

SDK .NET

Analyseurs Roslyn et Générateurs de sources

Rider 2023.2 apporte un ensemble d'améliorations pour l'utilisation des analyseurs Roslyn et des générateurs de source. Vous trouverez parmi ces améliorations :

  • Un nouveau bouton Reboot Source Generators, qui évite d'avoir à redémarrer l'IDE en cas de blocage dû à un générateur de source personnalisé.
  • Rider affiche désormais les exceptions de générateur de code source dans la vue Problems, ce qui permet d'identifier des problèmes qui passaient jusque-là inaperçus et n'étaient pas détectés.
  • L'IDE fournit désormais la trace de pile complète des exceptions dans la vue Problems, ce qui permet d'identifier plus facilement les causes premières des erreurs.
  • La possibilité de modifier le niveau de sévérité des inspections Roslyn dans Solution Explorer afin de permettre un niveau de personnalisation et de contrôle plus important des paramètres d'analyse du code.
  • L'ajout de deux nouveaux modèles de projet pour la création d'analyseurs Roslyn et de projets de générateur de source dans Rider.

Docker

Exécution de Docker sur WSL

Exécution de Docker sur WSL

Notre dernière version permettait d'exécuter Docker en mode rapide. À partir de Rider 2023.2, il est possible d'utiliser Docker en mode rapide sur WSL également. Pour exécuter des conteneurs Docker sur une machine Windows sans Docker Desktop, vous devez d'abord installer WSL, installer Docker sur votre distribution Linux et ajouter WSL à vos paramètres/propriétés Rider dans la section Build, Execution, Deployment | Docker. Vous pourrez ensuite exécuter et déboguer les conteneurs Docker sur WSL (avec ou sans mode rapide activé).

Étiquettes de configuration d'exécution de Docker Compose

Étiquettes de configuration d'exécution de Docker Compose

Rider 2023.2 permet un réglage précis de la configuration d'exécution de Docker Compose avec l'introduction d'étiquettes. En ajoutant ces éléments de code au fichier docker-compose.yml, vous pouvez spécifier si et comment exécuter et déboguer vos applications.

Par exemple, si vous souhaitez désactiver le mode rapide pour certains services, vous pouvez définir une étiquette com.jetbrains.rider.fast.mode: "false" pour ces services. Si vous souhaitez appliquer le mode de débogage, utilisez l'étiquette com.jetbrains.rider.debug: "false".

Rechargement à chaud XAML pour MAUI

Le rechargement à chaud est enfin disponible pour les solutions ciblant .NET MAUI ! Le rechargement à chaud XAML dans Rider permet aux développeurs mobiles de modifier le code et l'interface utilisateur pendant que leurs applications MAUI sont en cours d'exécution, sans avoir à tout reconstruire et redéployer. Les modifications mises à jour s'appliquent immédiatement et offrent une expérience de développement plus rapide et itérative.

Développement de jeux

Unity

Cette version regorge aussi de fonctionnalités pour le développement Unity, avec de nombreuses améliorations de l'expérience de modification de fichiers ShaderLab, des mises à jour supplémentaires de la fonctionnalité DOTS et une meilleure prise en charge des fichiers USS.

AI Assistant pour Unity

Les capacités de compréhension et de résolution des problèmes de l'AI Assistant bénéficient aussi aux développeurs Unity. Rider informe l'AI Assistant lorsque vous travaillez sur un projet Unity. Par conséquent, si vous posez une question telle que « Comment créer une fenêtre d'éditeur ? » ou « Comment ajouter un élément de menu ? », l'AI Assistant replace ces questions dans le contexte de l'éditeur Unity et propose des API Unity pourvous aider à atteindre votre objectif.

Le contexte Unity permet aussi de prototyper des comportements supplémentaires. Lorsque vous lui demandez de créer un fichier, l'AI Assistant inclut un bouton qui permet de créer automatiquement un fichier avec le contenu qu'il suggère. Nous allons étendre cela à d'autres actions et contextes au fur et à mesure de l'évolution des fonctionnalités de l'AI Assistant.

Prise en charge de ShaderLab

Cette version améliore considérablement la prise en charge des fichiers ShaderLab par Rider, avec une nouvelle assistance la saisie, des live templates, le génération de fils d'Ariane, la fenêtre d'outils Structure et la navigation Ctrl+clic vers la déclaration de nom d'un shader ou d'un pass.

Les mises à jour sont si nombreuses que nous leur avons consacré un article entier ! Consultez-le pour en savoir plus.

Unity DOTS

Nous avons apporté des améliorations à la génération de code pour la pile technologique orientée vers les données (Data Oriented Tech Stack, DOTS) sur la base des retours très constructifs de la communauté Unity. Nous avons également introduit de nouveaux modèles de fichier et live templates, en plus de l'extension de l'analyse contextuelle Burst à de plus grandes sections de votre code.

Le débogueur a également une meilleure compréhension de DOTS. La présentation améliorée des types RefRO et RefRW permet désormais de voir beaucoup plus rapidement la valeur des wrappers de référence. Cependant, vous pouvez toujours étendre le nœud Raw Value pour voir la représentation originale.

Prise en charge des feuilles de style Unity

Pour cette version, les fichiers de feuille de style Unity (USS) ont fait l'objet d'une mise à jour majeure. Rider prend désormais en charge la fonction var et la mise en évidence et la saisie semi-automatique sont disponibles pour une large gamme de propriétés ayant été ajoutées dans les versions récentes de Unity.

Autres mises à jour

Nous avons également ajouté la saisie semi-automatique pour les chemins utilisés dans les APIs de base de données de ressources. Commencez simplement votre saisie et Rider suggèrera des chemins utilisés dans votre projet.

Naturellement, cette version apporte aussi apporté une multitude de mises à jour et de correctifs mineurs. Par exemple, nous avons résolu le problème qui causait le occasionnel des tests unitaires à l'état Canceling, les fichiers .meta ne sont plus créés de façon incorrecte pour les dossiers masqués et les icônes propres à Unity correspondent désormais à la nouvelle interface utilisateur.

Unreal Engine

Rider 2023.2 améliore considérablement la prise en charge d'Unreal Engine, avec de nombreuses mises à jour concernant C++, l'introduction du rechargement à chaud Hot Reload et le Live Coding, des améliorations des performances pour l'indexation des Blueprints, ainsi que des correctifs et des mises à jour de la prise en charge pour Perforce.

Indexation des Blueprints optimisée

Indexation des Blueprints optimisée

Cette version améliore les performances de l'IDE lors de l'indexation des Blueprints. La première fois que vous ouvrez un projet, Rider indexe toutes vos ressources Blueprint, ce qui lui permet d'identifier les utilisations des classes dans les Blueprints et d'afficher les valeurs des données sérialisées directement dans l'éditeur de texte, de mettre en cache ces données et de les mettre à jour de façon incrémentale pendant que vous travaillez.

Les versions précédentes de Rider indexaient ces ressources en même temps que votre code C++, il fallait donc plus de temps à Rider pour être prêt à fonctionner.

Dans sa version 2023.2, Rider indexe les ressources en tant que tâche d'arrière-plan après avoir indexé l'intégralité de votre code C++. Vous bénéficiez ainsi des avantages de la mise en évidence du code lors des modifications, ainsi que de la navigation dans le code, pendant que Rider continue d'indexer les ressources.

Prise en charge du live coding et du rechargement à chaud

Prise en charge du live coding et du rechargement à chaud

Le rechargement à chaud et le live coding sont directement disponible dans l'IDE, ce qui vous permet de mettre à jour votre application Unreal pendant l'exécution de l'éditeur. Une fois que l'une de ces fonctionnalités est activée dans l'éditeur Unreal, Rider affiche un bouton « Build and Reload » dans la barre d'outils pour compiler vos modifications pendant qu'Unreal charge les mises à jour.

Utilisation de Perforce

Nous avons amélioré l'intégration avec Perforce, en réduisant la durée d'actualisation de l'état des fichiers locaux, et en apportant plusieurs correctifs et mises à jour. Rider détecte désormais automatiquement les espaces de travail Perforce à l'ouverture d'une solution et obtient la valeur de P4CONFIG et d'autres paramètres du registre, et non plus seulement des variables d'environnement.

Autres mises à jour

Rider 2023.2 inclut de nombreuses autres mises à jour et correctifs utiles pour le développement de jeux en C++. Nous avons traité sur un cas particulièrement complexe dans lequel Rider se bloquait lors du travail avec de très gros fichiers de projet. Rider permet maintenant de limiter la portée de Find In Files aux répertoires de plugin lors du travail avec des solutions basées sur .uproject. Par ailleurs, plusieurs correctifs ont été apportés au plugin RiderLink, ce qui permet de le construire avec la dernière chaîne d'outils VC++.

Développement web

Amélioration de la présentation des erreurs

Amélioration de la présentation des erreurs

Pour cette version 2023.2 de Rider, nous avons cherché à améliorer la façon dont les erreurs de type en JavaScript et TypeScript sont présentées. Désormais, les erreurs et les avertissements seront présentés de manière plus lisible, ce qui facilitera la détection des problèmes dans votre code. Cela concerne toutes les erreurs TypeScript et certaines des erreurs JavaScript les plus courantes. Et cela s'applique même aux erreurs dans une autre langue !

Prise en charge de l'imbrication CSS

Rider now supports the CSS Nesting Module feature. Nous avons implémenté la prise en charge syntaxique et une inspection pour vous assurer que le sélecteur imbriqué ne commence pas par un identifiant ou une notation fonctionnelle.

Prise en charge de la saisie semi-automatique du code Tailwind

Le plugin de saisie semi-automatique du code Tailwind pour Rider prend désormais en charge les fichiers Razor.

Prise en charge du serveur de langages Vue

Prise en charge du serveur de langage Vue

Nous avons de bonnes nouvelles pour les utilisateurs de Vue ! La prise en charge initiale de Volar est maintenant disponible dans Rider pour assurer une détection plus précise des erreurs. Par défaut, Volar est utilisé pour TypeScript v5.0 et ses versions ultérieures, tandis que notre propre implémentation reste utilisée pour les versions plus anciennes. Vous pouvez configurer le service Vue pour utiliser l'intégration Volar sur toutes les versions de TypeScript dans Settings | Languages & Frameworks | TypeScript | Vue.

Pour en savoir plus : Nouveautés de WebStorm 2023.2

Contrôle de version

Vérifications des commits en arrière-plan

Vérifications des commits en arrière-plan

Nous avons retravaillé le comportement des vérifications des commits pour Git et Mercurial afin d'accélérer l'ensemble du processus de commit. Les vérifications se déroulent désormais en arrière-plan, après votre commit mais avant le push.

Option pour effectuer un commit pour des lignes de code spécifiques

Option pour effectuer un commit pour des lignes de code spécifiques

Rider 2023.2 introduit une fonctionnalité très attendue qui permet d'effectuer des commits pour des parties spécifiques de blocs de code. Pour faire un commit partiel, sélectionnez les lignes d'un bloc et appelez Include these lines into commit dans le menu contextuel. Le bloc sera divisé en lignes individuelles et les lignes sélectionnées seront mises en évidence. Vous pouvez ajouter ou exclure des lignes de la sélection à l'aide des cases à cocher ou du menu contextuel.

Performances et profilage de la mémoire

Analyse des instantanés dotMemory dotUltimate

Avant la version 2023.2, vous ne pouviez utiliser dotMemory dans Rider que pour l'analyse de l'affectation de la mémoire. Dans la version 2023.2, vous pouvez collecter des instantanés de mémoire et les analyser dans Rider, tout comme dans la version autonome de dotMemory.

  • L'analyse des instantanés est disponible sous Windows, Linux et macOS.
  • Sous Windows, vous pouvez également importer et analyser les vidages de processus.
  • Certaines fonctionnalités et vues ne sont pas disponibles, par exemple les inspections automatiques des instantanés et les vues de création de traces de pile.
Groupement par thread pour l'échantillonnage, le traçage et les instantanés ligne par ligne

Groupement par thread pour l'échantillonnage, les traces et les instantanés ligne par ligne dotTrace dotUltimate

Désormais, la vue Call Tree permet de grouper les piles d'appels par fils individuels, afin de mieux comprendre les problèmes de performances propres aux threads.

Dynamic Program Analysis

  • Avant, DPA pouvait inclure par erreur le temps de pause lié au débogage dans le temps d'exécution, ce qui créait des faux positifs dans la base de données. Ce problème a été corrigé dans la version 2023.2.
  • De plus, DPA mettait en évidence de gros blocs de code si la pile d'appels correspondante contenait des allocations de mémoire par des fonctions lambda. La mise en évidence est désormais plus granulaire.

Workflow de qualité du code

Intégration de la plateforme de contrôle de la qualité du code Qodana

Les outils d'analyse statique sont notoirement compliqués à configurer. Rider 2023.2 supprime cette difficulté en intégrant Qodana, notre moteur d'analyse statique intelligent conçu pour s'adapter à tout pipeline de CI/CD.

Cette intégration vous apporte deux avantages importants. Tout d'abord la simplicité de configuration. Vous pouvez déclencher l'analyse en quelques clics, consulter la liste des problèmes pour l'ensemble de votre projet et configurer Qodana dans votre système de CI/CD favori pour établir un mur qualité. Le deuxième avantage réside dans l'amélioration du workflow de contrôle de la qualité du code. Une fois Qodana configurée dans le système de CI/CD, vous pourrez voir les résultats de l'analyse côté serveur directement, sans quitter votre IDE.

Qodana vient tout juste de sortir de sa phase de preview. Consultez cet article pour en savoir plus sur cette nouvelle version et découvrir comment tirer pleinement parti de Qodana dans Rider.

Travailler avec des bases de données

Travailler avec des bases de données

Nous avons remanié la boîte de dialogue de connexion à la base de données dans Rider 2023.2 en supprimant certaines options non essentielles qui pouvaient dérouter les utilisateurs et en simplifiant le workflow de connexion. L'une des améliorations les plus significatives est que Rider recherche désormais les chaînes de connexion dans votre solution ouverte et les utilise comme suggestions dans la boîte de dialogue.

Les autres modifications notables dans Rider 2023.2 incluent :

  • Prise en charge de Redis Cluster ;
  • la nouvelle interface utilisateur de la boîte de dialogue de migration de schéma.
  • la définition de fuseaux horaires dans le Data editor.
  • la prise en charge des partages de données et des bases de données externes [Redshift].

Pour plus d'informations sur les améliorations pour le travail avec les bases de données, consultez cette page.

Prise en charge de F#

Références F# vers C# en mémoire

Références F# vers C# en mémoire

Avec les références F# vers C# en mémoire vous n'avez pas besoin de créer des projets C# faisant référence au code F# pour voir les modifications. Cela améliore les factorisations et la navigation inter-langages, car le service de compilation F# examine systématiquement les sources C# réelles en plus des références C# vers F# en mémoire opérationnelles.

Prise en charge des injections de langage d'IntelliJ Platform

La prise en charge des injections de langage d'IntelliJ Platform permet d'utiliser différents langages frontend dans les littéraux F#, d'accéder aux bases de données, d'ouvrir des liens web ou des tickets, et bien plus.

Go to File Member

Go to File Member

La nouvelle fenêtre contextuelle Go to File Member est désormais disponible pour F#, ce qui facilite l'affichage de la structure de fichiers et la navigation vers les membres à partir des types de base.

Mises à jour pour les modèles de cas d'union

Mises à jour des modèles de cas d'union

Nous avons apporté des améliorations qui vont vous faciliter la manipulation des modèles de cas d'union :

  • Nouvelle action contextuelle pour convertir les modèles de cas d'union en modèles de champ nommés.
  • Nouvelles règles d'utilisation des modèles de champs nommés pour les cas d'union.
  • Modification des règles concernant les modèles de cas d'union afin que la fenêtre contextuelle de déconstruction n'empêche pas la saisie manuelle pour les modèles.

We also want to thank Florian Verdonck for contributing to this improvement.

Génération de remplacements

Nous avons corrigé de nombreux problèmes qui affectaient la précision de la génération de remplacements. Par exemple, les membres générés sont désormais toujours placés aux bons endroits et les types peuvent être reformatés pour les membres générés. A huge thanks goes to David Schaefer for contributing to this improvement.

You can find the full list of F# updates and fixes available in Rider 2023.2 here.

Plugins

Plugin Settings Sync

Plugin Settings Sync

Pendant longtemps, les plugins IDE Settings Sync et Settings Repository ont coexisté et leurs fonctionnalités se recoupaient.

Nous avons finalement fusionné leurs fonctionnalités dans une seule solution : le nouveau plugin Settings Sync.

Prise en charge du protocole LSP pour le développement de plugins

Rider 2023.2 prend en charge l'API LSP pour le développement de plugins. L'API LSP est principalement destinée aux développeurs de plugins qui souhaitent utiliser un serveur LSP spécifique pour l'aide au codage dans l'IDE. Si vous avez votre propre langage de programmation ou framework, vous pouvez vous assurer qu'il est pris en charge par l'IDE en créant un serveur LSP et un plugin.

Actuellement, la prise en charge de LSP comprend la mise en évidence des erreurs et des avertissements, des correctifs rapides, la saisie semi-automatique du code et la navigation vers les déclarations. Pour plus d'informations, consultez cet article de l'équipe IntelliJ IDEA.

Feature Trainer pour Rider

Rider 2023.2 introduit Feature Trainer, un nouvel outil interactif conçu pour permettre aux utilisateurs, nouveaux comme expérimentés, de se familiariser avec les fonctionnalités et les workflows étendus qu'offre l'IDE. Feature Trainer a une approche directe de la formation et fournit des instructions étape par étape et des exemples de code pour s'entraîner. Faites un essai en allant dans Help | Learn IDE Features. Feature Trainer est disponible uniquement dans la nouvelle interface utilisateur.

Améliorations de l'accessibilité

L'inclusivité et l'accessibilité aux produits sont au cœur de la philosophie de JetBrains. Cette nouvelle version apporte plusieurs améliorations à l'accessibilité de Rider, afin que tous les utilisateurs, y compris les personnes aveugles ou malvoyantes, puissent bénéficier de tous les avantages du produit. Ces améliorations incluent :

  • Étiquetage et descriptions correctes des éléments d'interface utilisateur.
  • L'amélioration de la navigation et du contrôle du clavier dans la section Settings / Preferences.
  • Une meilleure prise en charge des lecteurs d'écran, tels que NVDA, particulièrement dans l'onglet Run.
  • Une meilleure accessibilité à la documentation, aux ressources d'aide et à la gestion de package NuGet.
  • Une accessibilité améliorée dans le concepteur Windows Forms.

Divers

Prise en charge d'ARM32 pour le débogueur distant

En plus de la prise en charge d'ARM64, Rider 2023.2 introduit la prise en charge des outils de débogage distants chargés sur une machine distante fonctionnant sur ARM32, comme Raspberry Pi. Pour rejoindre ce processus distant, utilisez la boîte de dialogue Attach to Process.

Migration du terminal vers ConPTY sous Windows

JetBrains Rider comporte un émulateur de terminal intégré qui fonctionne avec un shell de ligne de commande depuis l'IDE. Les versions précédentes de Rider dépendaient d'une bibliothèque WinPTY tierce, qui faisait office de couche d'émulation du terminal sous Windows. Pour Rider 2023.2, nous utilisons ConPTY, qui est fourni par le système d'exploitation, pour les versions de Windows qui le prennent en charge. Cette modification ne devrait pas produire de changement visible mais ouvre la porte à de futures améliorations du terminal et de la console d'exécution.