Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article contient des informations sur les fonctionnalités de Visual Studio pour le développement F#.
Installer la prise en charge de F#
Pour développer avec F# dans Visual Studio, installez d’abord la charge de travail de développement de bureau .NET si vous ne l’avez pas déjà fait. Vous installez des charges de travail Visual Studio via Visual Studio Installer, que vous pouvez ouvrir en sélectionnant Outilsobtenir des outils> et fonctionnalités.
Fonctionnalités du projet F#
Différents modèles de projet et d’élément sont disponibles pour F# dans Visual Studio. L’image suivante montre quelques-uns des modèles de projet F# pour .NET Core et .NET Standard :
L’image suivante montre quelques-uns des modèles d’élément F# :
Pour plus d’informations sur les modèles d’élément pour l’accès aux données, consultez fournisseurs de types F#.
Le tableau suivant récapitule les fonctionnalités des propriétés de projet pour F# :
| Paramètre de projet | Pris en charge dans F# ? | Remarques |
|---|---|---|
| Fichiers de ressources | Oui | |
| Générer, déboguer et référencer des paramètres | Oui | |
| Ciblage multiple | Oui | |
| Icône et manifeste | Non | Disponible via les options de ligne de commande du compilateur. |
| services clients ASP.NET | Non | |
| ClickOnce | Non | Utilisez un projet client dans un autre langage .NET, le cas échéant. |
| Nommage fort | Non | Disponible via les options de ligne de commande du compilateur. |
| Publication et contrôle de version d’assemblys | Non | |
| Analyse du code | Non | Les outils d’analyse du code peuvent être exécutés manuellement ou dans le cadre d’une commande post-build. |
| Sécurité (modifier les niveaux d’approbation) | Non |
Concepteur de projets
Project Designer se compose de plusieurs pages de propriétés de projet regroupées par fonctionnalité associée. Les pages disponibles pour les projets F# sont principalement un sous-ensemble de celles disponibles pour d’autres langues et sont décrites dans le tableau suivant. Les liens sont fournis à la page du Concepteur de projets C# correspondante.
| Page Concepteur de projets | Liens connexes | Descriptif |
|---|---|---|
| Application | Page Application, Concepteur de projets | Vous permet de spécifier les paramètres et les propriétés au niveau de l’application, par exemple, si vous créez une bibliothèque ou un fichier exécutable, quelle version de .NET cible l’application et des informations sur l’emplacement où les fichiers de ressources utilisés par l’application sont stockés. |
| Construire | Page Build, Concepteur de projets | Vous permet de contrôler la façon dont le code est compilé. |
| Événements de build | Page Événements de génération, Concepteur de projets | Vous permet de spécifier des commandes à exécuter avant ou après une compilation. |
| Déboguer | page de débogage , concepteur de projets | Vous permet de contrôler la façon dont l’application s’exécute pendant le débogage. Cela inclut les commandes à utiliser et le répertoire de démarrage de votre application, ainsi que tous les modes de débogage spéciaux que vous souhaitez activer, tels que le code natif et SQL. |
| Package (SDK.NET uniquement) | N/A | Vous permet de définir les métadonnées du package NuGet lors de la publication en tant que package NuGet. |
| Chemins d’accès de référence | Gérer les références dans un projet | Vous permet de spécifier où rechercher des assemblys dont dépend le code. |
| Ressources (SDK.NET uniquement) | N/A | Vous permet de générer et de gérer un fichier de ressources par défaut. |
Paramètres spécifiques à F#
Le tableau suivant récapitule les paramètres spécifiques à F# :
| Page Concepteur de projets | Réglage | Descriptif |
|---|---|---|
| Construire | Générer des appels de fin | Si cette option est sélectionnée, active l’utilisation de l’instruction MSIL (Microsoft Intermediate Language) de fin. Cela entraîne la réutilisation du frame de pile pour les fonctions récursives de fin. Équivalent à l’option du --tailcalls compilateur. |
| Construire | Autres indicateurs | Vous permet de spécifier d’autres options de ligne de commande du compilateur. |
Fonctionnalités de l’éditeur de code et de texte
Les fonctionnalités suivantes des éditeurs de code et de texte Visual Studio sont prises en charge dans F# :
| Caractéristique | Descriptif | Pris en charge dans F# ? |
|---|---|---|
| Commentaire automatique | Vous permet de commenter ou de supprimer les marques de commentaire du code. | Oui |
| Format automatique | Reformats code avec mise en retrait et style standard. | Non |
| Favoris | Vous permet d’enregistrer des emplacements dans l’éditeur. | Oui |
| Modifier la mise en retrait | Retraits ou unindents lignes sélectionnées. | Oui |
| Mise en retrait intelligente | Met automatiquement en retrait et désactive le curseur en fonction des règles d’étendue F#. | Oui |
| Rechercher et remplacer du texte | Vous permet de rechercher dans un fichier, un projet ou une solution et de modifier potentiellement du texte. | Oui |
| Accéder à la définition de l’API .NET | Lorsque le curseur est positionné sur une API .NET, affiche le code généré à partir de métadonnées .NET. | Non |
| Accéder à la définition de l’API définie par l’utilisateur | Lorsque le curseur se trouve sur une entité de programme que vous avez définie, déplace le curseur vers l’emplacement dans votre code où l’entité est définie. | Oui |
| Aller à la ligne | Vous permet d’accéder à une ligne spécifique dans un fichier, par numéro de ligne. | Oui |
| Barres de navigation en haut du fichier | Vous permet d’accéder à des emplacements dans le code, par exemple, le nom de la fonction. | Oui |
| Recommandations en matière de structure de blocs | Affiche des instructions qui indiquent des étendues F#, qui peuvent être survolées pour une préversion. | Oui |
| Mode Plan | Vous permet de réduire les sections de votre code pour créer une vue plus compacte. | Oui |
| Tabifier | Convertit les espaces en onglets. | Oui |
| Colorisation de type | Affiche les noms de types définis dans une couleur spéciale. | Oui |
| Recherche rapide. Consultez recherche rapide, rechercher et remplacer la fenêtre. | Vous permet de rechercher dans un fichier ou un projet. | Oui |
| Ctrl+cliquez sur Atteindre la définition | Vous permet d’appuyer sur Ctrl et de cliquer sur un symbole F# pour appeler Atteindre la définition. | Oui |
| Accéder à La définition à partir de QuickInfo | Symboles cliquables à l’intérieur d’info-bulles qui appellent Atteindre la définition. | Oui |
| Accéder à tout | Active la navigation globale et approximative pour toutes les constructions F# via Ctrl+T. | Oui |
| Renommer inline | Renomme toutes les occurrences d’un symbole inline. | Oui |
| Rechercher toutes les références | Recherche toutes les occurrences d’un symbole dans une base de code. | Oui |
| Simplifier le correctif de code de nom | Supprime les qualificateurs inutiles pour les symboles F#. | Oui |
Supprimer le correctif de code d’instruction inutilisé open |
Supprime toutes les instructions inutiles open dans un document. |
Oui |
| Correctif de code de valeur inutilisé | Suggère de renommer un identificateur inutilisé pour souligner. | Oui |
Pour obtenir des informations générales sur la modification du code dans Visual Studio et les fonctionnalités de l’éditeur de texte, consultez Écrire du code dans l’éditeur.
Fonctionnalités IntelliSense
Le tableau suivant récapitule les fonctionnalités IntelliSense prises en charge et non prises en charge dans F# :
| Caractéristique | Descriptif | Pris en charge dans F# ? |
|---|---|---|
| Implémenter automatiquement des interfaces | Génère des stubs de code pour les méthodes d’interface. | Oui |
| Extraits de code | Injecte du code à partir d’une bibliothèque de constructions de codage courantes dans des rubriques. | Non |
| Compléter le mot | Enregistre la saisie en terminant des mots et des noms au fur et à mesure que vous tapez. | Oui |
| Saisie semi-automatique | Lorsque cette option est activée, la saisie semi-automatique du mot entraîne la sélection de la première correspondance au lieu d’attendre que vous activiez une ou appuyez sur Ctrl+. | Oui |
| Achèvement de l’offre pour les symboles dans les espaces de noms non ouverts | Avec la saisie semi-automatique, un symbole correspondant qui réside dans un espace de noms non ouvert est suggéré, offrant la fin de l’instruction correspondante open lorsqu’elle est sélectionnée. |
Oui |
| Générer des éléments de code | Vous permet de générer du code stub pour diverses constructions. | Non |
| Répertorier les membres | Lorsque vous tapez l’opérateur d’accès aux membres (.), affiche les membres d’un type. | Oui |
| Organiser les utilisations/Ouvrir | Organise les espaces de noms référencés à l’aide d’instructions en C# ou de directives ouvertes en F#. | Non |
| Informations sur les paramètres | Affiche des informations utiles sur les paramètres lorsque vous tapez un appel de fonction. | Oui |
| Informations rapides | Affiche la déclaration complète de n’importe quel identificateur dans votre code. | Oui |
| Achèvement automatique de l’accolade | Termine automatiquement les constructions de syntaxe de type F# de manière transactionnelle. | Oui |
Pour obtenir des informations générales sur IntelliSense, consultez Utiliser IntelliSense.
Fonctionnalités de débogage
Le tableau suivant récapitule les fonctionnalités disponibles lorsque vous déboguez du code F# :
| Caractéristique | Descriptif | Pris en charge dans F# ? |
|---|---|---|
| Fenêtre Autos | Affiche les variables automatiques ou temporaires. | Non |
| Points d’arrêt | Vous permet de suspendre l’exécution du code à des points spécifiques pendant le débogage. | Oui |
| Points d’arrêt conditionnels | Active les points d’arrêt qui testent une condition qui détermine si l’exécution doit être suspendue. | Oui |
| Modifier et continuer | Active la modification et la compilation du code lorsque vous déboguez un programme en cours d’exécution sans arrêter et redémarrer le débogueur. | Non |
| Évaluateur d’expression | Évalue et exécute du code au moment de l’exécution. | Non, mais l’évaluateur d’expression C# peut être utilisé, même si vous devez utiliser la syntaxe C#. |
| Débogage historique | Vous permet d’effectuer un pas à pas dans le code précédemment exécuté. | Oui |
| Fenêtre Variables locales | Affiche les valeurs et variables définies localement. | Oui |
| Exécuter jusqu’au curseur | Vous permet d’exécuter du code jusqu’à ce que la ligne qui contient le curseur soit atteinte. | Oui |
| Pas à pas détaillé | Vous permet d’avancer l’exécution et de passer à n’importe quel appel de fonction. | Oui |
| Enjamber | Vous permet d’avancer l’exécution dans l’image de pile actuelle et de passer un appel de fonction. | Oui |
Pour obtenir des informations générales sur le débogueur Visual Studio, consultez Débogage dans Visual Studio.
Outils supplémentaires
Le tableau suivant récapitule la prise en charge de F# dans les outils Visual Studio.
| Outil | Descriptif | Pris en charge dans F# ? |
|---|---|---|
| Hiérarchie d'appels | Affiche la structure imbriquée des appels de fonction dans votre code. | Non |
| Métriques de code | Collecte des informations sur votre code, telles que le nombre de lignes. | Non |
| Affichage de classes | Fournit une vue basée sur le type du code dans un projet. | Non |
| Fenêtre Liste d’erreurs | Affiche la liste des erreurs dans le code. | Oui |
| F# Interactive | Vous permet de taper (ou copier et coller) du code F# et de l’exécuter immédiatement, indépendamment de la génération de votre projet. La fenêtre interactive F# est une boucle REPL (Read, Evaluate, Print Loop). | Oui |
| Explorateur d’objets | Vous permet d’afficher les types dans un assembly. | Les types F# tels qu’ils apparaissent dans les assemblys compilés n’apparaissent pas exactement comme vous les créez. Vous pouvez parcourir la représentation compilée des types F#, mais vous ne pouvez pas afficher les types tels qu’ils apparaissent à partir de F#. |
| Fenêtre de sortie | Affiche la sortie de build. | Oui |
| Analyse des performances | Fournit des outils pour mesurer les performances de votre code. | Oui |
| La fenêtre des propriétés | Affiche et active la modification des propriétés de l’objet dans l’environnement de développement qui a le focus. | Oui |
| Explorateur de serveurs | Fournit des moyens d’interagir avec une variété de ressources serveur. | Oui |
| Explorateur de solutions | Vous permet d’afficher et de gérer des projets et des fichiers. | Oui |
| Liste des tâches | Vous permet de gérer les éléments de travail relatifs à votre code. | Non |
| Projets de test | Fournit des fonctionnalités qui vous aident à tester votre code. | Non |
| Boîte à outils | Affiche des onglets qui contiennent des objets draggables tels que des contrôles et des sections de texte ou de code. | Oui |