Nouveautés de Rider

Rider 2023.3 prend en charge le SDK .NET 8, ce qui inclut les dernières fonctionnalités de C# 12. Cette mise à jour apporte également une meilleure expérience pour l'exécution de plusieurs projets, un mode de débogage prédictif et la possibilité de créer des tests unitaires et de les parcourir facilement. Rider 2023.3 bénéficie également d'une mise à jour majeure de l'AI Assistant.

Principales mises à jour

AI Assistant

L'AI Assistant est sorti de la phase de préversion Disponibilité générale

L'AI Assistant est maintenant disponible pour tous, avec de nombreuses nouveautés et fonctionnalités améliorées pour rendre votre travail avec les IDE de JetBrains encore plus productif. La dernière série d'améliorations pour Rider comprend les points suivants :

  • Chat IA tenant compte du contexte
  • Meilleure prise en compte du projet pour les actions d'IA
  • Saisie semi-automatique du code sur plusieurs lignes
  • Génération de code dans l'éditeur
  • Génération de tests unitaires
  • Génération de documentation
  • Vue Diff pour les refactorisations suggérées par I'lA
  • Possibilité de créer une bibliothèque de prompts personnalisés

Utilisez l'AI Assistant dans Rider en tant que fonctionnalité supplémentaire en vous abonnant au service JetBrains AI.

Regardez la démo

Prise en charge du SDK .NET 8

Prise en charge du SDK .NET 8

Rider 2023.3 prend officiellement en charge le SDK .NET 8, notamment :

  • Les modèles de projets actualisés.
  • La possibilité de créer, d'exécuter et de déboguer des projets ciblant le nouveau SDK.
  • Les nouvelles fonctionnalités de C# 12, dont les constructeurs primaires, les intercepteurs et les directives d'alias pour référencer n'importe quel type.
  • La prise en charge des fonctionnalités de F# 8, telles que les expressions lambda abrégées, les mises à jour des enregistrements imbriqués, les membres d'interface statiques et les liaisons let.
  • La prise en charge des variables @.
  • Support for Identity API endpoints.

Exécution de plusieurs projets

Rider 2023.3 vous permet d'exécuter et de déboguer plusieurs projets simultanément et de bénéficier d'un contrôle avancé sur l'ordre et les conditions d'exécution des tâches.

Pour en savoir plus, consultez la documentation de Rider.

Regardez la démo

Diagrammes des dépendances de types

Rider 2023.3 vous permet d'explorer les relations et les dépendances entre les classes, structs, interfaces et modules de votre solution grâce aux diagrammes des dépendances des types.

Pour en savoir plus, consultez la documentation de Rider.

Regardez la démo

Débogage prédictif

Débogage prédictif

Le débogage prédictif est un nouveau mode de débogage avancé pour Rider qui prédit les problèmes potentiels de votre code et vous en avertit sans que vous ayez besoin d'exécuter le code.

Pour en savoir plus, consultez la documentation de Rider.

Regardez la démo

Création et navigation dans les tests unitaires

Vous pouvez maintenant naviguer facilement dans vos tests et en créer pour votre code de production à l'aide de Rider. Avec cette version, vous avez aussi la possibilité de générer des tests à l'aide de l'AI Assistant.

Pour en savoir plus, consultez la documentation de Rider.

Regardez la démo

Prise en charge de C#

Mises à jour concernant C# 12

Dans cette nouvelle version, Rider prend en charge davantage de fonctionnalités de C# 12, parmi lesquelles les constructeurs principaux, les directives d'alias pour référencer n'importe quel type, les expressions des collections et les intercepteurs.

Consultez cet article de blog pour en apprendre plus sur la prise en charge de C# dans les versions 2023.3 de Rider et de ReSharper.

Regardez la démo

Inspections ciblant les problèmes liés à Entity Framework

Rider 2023.3 apporte quelques nouvelles inspections ciblant l'utilisation des méthodes dans le code associé au framework Entity qui peuvent lever des exceptions lors de l'exécution.

Vous pouvez en apprendre plus sur ces nouvelles inspections dans cet article de blog.

Performances

Rider 2023.3 peut désormais reconnaître et faciliter davantage de scénarios dans lesquels les services d'analyse du code peuvent fonctionner de manière incrémentielle lorsqu'ils sont interrompus par la saisie. Cette amélioration est particulièrement utile lorsque vous travaillez avec des fichiers volumineux.

Allocation de ressources dans l'analyse de code à l'échelle de la solution

La dernière mise à jour vous permet également de contrôler la quantité de ressources allouée à l'analyse du code à l'échelle de la solution. Vous pouvez maintenant choisir entre les modes d'utilisation des ressources Low, Moderate et High.

En dépit de son nom, le mode High est conçu pour ne pas gêner la saisie dans l'éditeur et ne dégrade pas la réactivité de l'IDE. Il augmente l'utilisation du processeur progressivement et uniquement lorsque l'analyse du code est interrompue par la saisie, afin de maintenir une expérience fluide tandis que l'analyse à l'échelle de la solution traite le code source en arrière-plan.

Autres améliorations des performances

La recherche des occurrences de types et de constructeurs est désormais plus rapide pour les solutions comportant de nombreuses créations d'objets à typage implicite, par exemple UnType _field = new(). Cette amélioration augmente également la vitesse de refactorisation.

Nous avons également résolu plusieurs problèmes liés au traitement des langages injectés, qui entraînaient une utilisation accrue du processeur.

Éditeur

Expérience utilisateur améliorée pour les conseils d'incrustation

Expérience utilisateur améliorée pour les conseils d'incrustation

Dans Rider 2023.3, vous pouvez faire un clic droit sur les conseils d'incrustation pour afficher le menu contextuel. Vous pouvez également naviguer vers les déclarations à partir d'un conseil d'incrustation en utilisant Ctrl+Clic.

Saisie semi-automatique du code pour les références de chemin d'URL

Saisie semi-automatique du code pour les références de chemin d'URL

Nous avons amélioré la fonctionnalité de saisie semi-automatique du code pour la gestion des URL. Désormais, lorsque vous tapez / aux endroits où un chemin d'URL est attendu, l'IDE remplit automatiquement la fenêtre contextuelle de saisie semi-automatique du code avec les URL des points de terminaison du serveur. Ce faisant, il prend en compte les API disponibles dans votre application et les spécifications OpenAPI jointes pour vous aider à spécifier le chemin de l'URL plus rapidement.

Interface/Expérience utilisateur

Bouton Resume pour le débogage

Bouton Resume pour le débogage

Comme promis, nous avons remplacé le bouton Run de la barre d'outils principale par un bouton Resume (Reprendre) pendant le débogage.

Save as Solution Filter

Save as Solution Filter

Rider 2023.3 vous permet de créer rapidement et facilement des filtres de solutions (fichiers .slnf). Les filtres de solutions permettent d'adapter la vue Project de votre IDE au contexte spécifique dans lequel vous travaillez et ainsi faciliter la gestion des projets volumineux et complexes. Pour créer un filtre de solution, faites un clic droit sur votre solution dans le Solution Explorer et sélectionnez Save as Solution Filter.

Masquage de la barre d'outils principale

Option pour masquer la barre d'outils principale dans le mode d'affichage par défaut

Suite à vos retours d'expérience sur la nouvelle interface utilisateur, nous avons implémenté une option permettant de masquer la barre d'outils principale dans le mode d'affichage par défaut de l'IDE, tout comme dans l'ancienne interface utilisateur.

Pour récupérer de l'espace de travail et enlever la barre d'outils, cliquez sur View | Appearance et décochez l'option Toolbar.

Raccourci pour Speed Search

Raccourci pour Speed Search

La fonctionnalité Speed Search, qui vous permet de naviguer rapidement dans les fenêtres d'outils et les boîtes de dialogue, est désormais accessible via un raccourci. Une fois que le focus est mis sur une arborescence ou une liste, vous pouvez facilement appeler la recherche à partir du menu Options de la fenêtre d'outil en appuyant sur +F sous macOS, Ctrl+F sous Windows ou Linux, ou simplement en commençant à saisir votre requête.

Nouvelle icône produit pour macOS

Nouvelle icône produit pour macOS

Nous avons remanié l'icône de Rider pour macOS afin de respecter les directives de style du système d'exploitation.

Systèmes de contrôle de version

Prise en charge des extraits de code GitLab

Prise en charge des extraits de code GitLab

Afin d'étendre l'intégration avec GitLab introduite avec la version 2023.2 de Rider, nous avons ajouté la prise en charge des extraits de code GitLab. Vous pouvez désormais créer des extraits de code publics ou privés directement dans l'IDE.

Pour créer un nouvel extrait de code, sélectionnez un fragment de code dans l'éditeur (ou un fichier ou dossier dans la fenêtre d'outils Project), faites un clic droit sur la sélection pour appeler le menu contextuel et choisissez l'option Create Snippet. Une boîte de dialogue s'affiche alors pour vous inviter à fournir des informations générales sur votre extrait de code et à définir ses paramètres de confidentialité.

Visionneuse de diff pour l'ensemble des modifications

Rider 2023.3 introduit une nouvelle façon d'examiner les modifications. Désormais, au lieu de parcourir chaque fichier un par un, vous pouvez consulter tous les fichiers modifiés à partir de l'ensemble des modifications regroupées dans un même cadre déroulant. Cette nouvelle visionneuse de diff est compatible avec les révisions de GitLab, GitHub et JetBrains Space.

Débogage

Vue Modules

La nouvelle vue Modules vous permet d'inspecter les bibliothèques de liens dynamiques (DLL) et les exécutables qu'utilise votre application. Dans cette vue, vous trouverez des informations telles que les noms des modules, les versions, les domaines d'application, les chemins d'accès au module et les chemins d'accès aux symboles du module.

La colonne Symboles répertorie les symboles utilisés par le débogueur pour un module spécifique. Vous pouvez gérer les symboles du module en faisant un clic droit sur une ligne de module et en sélectionnant Load Symbols.

Joindre à un processus dans un conteneur Docker

Joindre à un processus dans un conteneur Docker

À partir de Rider 2023.3, il est désormais possible de joindre à un processus à l'intérieur d'un conteneur pour le débogage. Pour ce faire, appelez la boîte de dialogue Attach to Process, allez sur l'onglet Docker et sélectionnez le conteneur cible. Cette nouvelle option fonctionnera dans les configurations SSH et les environnements locaux.

Développement de jeux

Unity

Prise en charge d'UI Toolkit

Votre travail avec l'UI Toolkit va gagner en productivité !

Vous pouvez voir où vos éléments d'interface utilisateur sont utilisés dans les fichiers UXML avec Find Usages et utiliser Ctrl+Clic pour naviguer des éléments des fichiers UXML vers le code C#. Rider fournit également la saisie semi-automatique du code pour les éléments d'interface utilisateur dans les requêtes C#.

Cette version prend également en charge les fichiers de thème .tss et inclut une connaissance actualisée de toutes les propriétés USS pour la dernière version LTS d'Unity 2022.3.

Prise en charge des variantes de shader

Prise en charge des variantes de shader

Une nouvelle fonctionnalité optionnelle en préversion permet de sélectionner les mots-clés actifs lors de l'édition d'un fichier shader. Cela peut activer différents blocs préprocesseurs, rendant ainsi accessibles les puissantes fonctionnalités d'édition de Rider dans des composants du fichier auparavant désactivés.

Mises à jour du débogueur

Le débogage Unity gagne beaucoup en intérêt grâce à la possibilité d'afficher les textures dans une nouvelle fenêtre contextuelle. Nous avons facilité l'ajout de points de pause à partir du menu contextuel de l'éditeur, et les points de trace seront désormais également affichés en sortie dans la console Unity. Rider affiche désormais correctement les instances de joueur virtuel multijoueur dans la boîte de dialogue Attach to Unity Process.

Regardez la démo

Autres mises à jour

Vous noterez de nombreux autres petits correctifs et fonctionnalités, tels que la saisie semi-automatique de la sémantique dans le code HLSL, la correction de l'URL de l'aide en ligne pour les paquets et des avertissements incorrects pour certains scénarios DOTS. You can see the full list of changes in the changelog.

Unreal Engine

Option pour ignorer les fichiers PCH dans l'analyse

Option pour ignorer les fichiers PCH dans l'analyse

Une nouvelle fonctionnalité importante permet à Rider de reconnaître uniquement les symboles des fichiers explicitement inclus et d'ignorer tout ce qui est importé par les fichiers d'en-tête précompilés (PCH). Cela permet aux builds locaux d'utiliser les fichiers PCH pour améliorer la vitesse de compilation tout en garantissant l'exactitude des serveurs de build de la CI.

Mises à jour mineures

Cette version inclut également plusieurs correctifs et mises à jour plus modestes pour des problèmes tels que certains noms de fichiers qui ne sont pas analysés en tant que liens dans la sortie de build, l'impossibilité de localiser UE 5.3 et l'affichage incorrect des types FString et TCHAR dans le débogueur sous Linux.

Nous avons également résolu certains problèmes concernant le plugin populaire Enhanced UE Documentation, notamment la mise en forme et un problème qui empêchait l'affichage de l'infobulle de la documentation standard.

Développement web

Améliorations concernant TypeScript

Améliorations concernant TypeScript

Rider 2023.3 résout certaines des incohérences frustrantes rencontrées lors de l'ajout d'instructions import type et facilite l'utilisation de verbatimModuleSyntax. Nous avons ajouté la possibilité de configurer l'utilisation de l'instruction import type de TypeScript ou du spécificateur de type lors de l'importation d'un type. Nous avons également ajouté la prise en charge du champ exports de package.json pour les fichiers TypeScript.

Prise en charge améliorée d'Angular

Prise en charge améliorée d'Angular

Nous avons amélioré la prise en charge de la vérification stricte du type strictTemplate dans les modèles Angular. Nous avons également pris en charge la nouvelle syntaxe de flux de contrôle de la v17 et des signaux, notamment des live templates tels que signal, computed et effect. De plus, de nouveaux correctifs rapides sont disponibles avec Alt+Entrée. Vous pouvez par exemple créer les propriétés @Input et @Output à partir d'un modèle de composant.

Client HTTP

Prise en charge des variables @

Rider 2023.3 prend en charge le symbole @ pour définir les variables trouvé dans d'autres IDE.

Pour en savoir plus sur les améliorations apportées au développement web, veuillez consulter cette page.

Prise en charge de F#

Prise en charge de F# 8

Nous avons ajouté la prise en charge des caractéristiques du langage apportées par F# 8. De nouveaux analyseurs et correctifs rapides suggèrent d'utiliser une syntaxe plus récente, comme les mises à jour des enregistrements imbriqués ou les expressions lambda abrégées.

Modèle de projet F# remanié

Nous avons réécrit la synchronisation du modèle de projet entre le moteur ReSharper et le service de compilation F# pour résoudre plusieurs problèmes tels que des erreurs faussement positives dues à des références manquantes ou à des blocages de l'analyse. Cela a également permis d'améliorer les performances d'analyse dans de nombreux cas où des projets F# font référence à des projets en C#.

Divers

Grâce à vos rapports de problèmes, nous avons également apporté de petites améliorations aux analyseurs, aux correctifs rapides, à la saisie semi-automatique du code ainsi qu'à d'autres points. Read the full notes on the F# plugin page.

Frameworks et technologies

Saisie semi-automatique de code pour la gestion centrale des paquets

Saisie semi-automatique de code pour la gestion centrale des paquets

Avec cette version, nous introduisons une prise en charge améliorée de vos fichiers CPM avec des fonctionnalités de saisie semi-automatique du code pour les noms et versions des paquets NuGet. Ces fichiers bénéficient désormais de la même prise en charge que dans un fichier .csproj. Ces changements devraient aider les développeurs à gérer plus rapidement et plus précisément les références des paquets. Consultez notre article sur la gestion centrale des paquets pour mieux comprendre cette fonctionnalité relativement récente.

Prise en charge des conteneurs rootless

Les images de base .NET incluent désormais un utilisateur non-root. Rider 2023.3 générera par défaut des Dockerfiles avec cet utilisateur pour les projets ciblant .NET 8. Les modes Debug et Fast mode sont également pris en charge.

Prise en charge de Bicep

We’ve introduced initial support for Bicep, an Infrastructure as Code language tailored to Azure. Elle s'incarne dans les modèles Azure Resource Manager (ARM) et est destinée à une intégration étroite avec les services Azure. L'IDE propose désormais la mise en évidence et la saisie semi-automatique du code, facilitées par le protocole du serveur de langage pour Bicep.

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 2023.3 :

  • Remaniement de la fonctionnalité d'importation
  • Prise en charge des tables d'importation/exportation à l'aide de BCP SQL Server
  • Prise en charge des nouveaux objets SQL Server

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

Plugins

Dynamic Program Analysis

Nouvelles inspections ASP.NET Core

Nouvelles inspections ASP.NET Core

Dynamic Program Analysis a reçu trois nouvelles inspections pour les applications ciblant le framework ASP.NET Core. Ces inspections vous alertent des problèmes de performances potentiels du backend qui pourraient nuire à la réactivité de votre application.

Consultez cet article pour en savoir plus.

dotTrace dotUltimate

Amélioration de la configuration

Configuration améliorée pour le mode de profilage Timeline

Cette version introduit des options avancées pour le mode de profilage Timeline lors de l'utilisation du profileur dotTrace intégré de Rider. Voici les nouvelles options :

  • Sampling rate : vous permet de trouver l'équilibre optimal entre les performances de l'application profilée et la précision des données. Le mode d'échantillonnage rapide est également pris en charge à présent.
  • Sample allocations every ... KB pour les allocations natives : vous aide à améliorer les performances de l'analyse des instantanés en réduisant la quantité de données collectées, c'est-à-dire la taille de l'instantané.
  • Download in background pour les fichiers de symboles natifs : télécharge les fichiers de symboles pendant la session de profilage afin de réduire le temps nécessaire pour prendre un instantané.

dotMemory dotUltimate

  • Il est désormais possible d'importer et d'analyser des dumps de processus dans le profileur fonctionnant sous Linux.
  • Vous pouvez maintenant exécuter la version indépendante de dotMemory sous les systèmes d'exploitation Linux et macOS.

Interface utilisateur pour Entity Framework Core

L'interface utilisateur des commandes Entity Framework Core est désormais disponible dans JetBrains Rider. Voici quelques-unes des nombreuses commandes pour lesquelles le plugin intégré peut vous aider :

  • La création de migrations.
  • La mise à jour des bases de données avec les migrations sélectionnées, avec notamment la saisie semi-automatique des noms de migration.
  • La création d'un squelette DbContext à partir de bases de données existantes.
  • La création de scripts SQL à partir de la plage de migration.

Autres améliorations

Nouvelles inspections permettant d'identifier les utilisations d'API vulnérables

Nouvelles inspections permettant d'identifier les utilisations d'API vulnérables Sécurité

Rider 2023.3 apporte une nouvelle fonctionnalité d'inspection de sécurité conçue pour renforcer la visibilité des vulnérabilités publiées et en faciliter la compréhension.

Les nouvelles inspections identifient les paquets NuGet vulnérables dans votre projet et mettent en évidence les situations où des méthodes vulnérables de ces bibliothèques sont utilisées dans votre code. Si une vulnérabilité est détectée, le système met en évidence le code problématique et propose des actions rapides pour y remédier. Ces actions incluent la recommandation d'une mise à jour vers une version plus récente du paquet et des informations détaillées sur les vulnérabilités détectées.