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.
C# IntelliSense est une aide de saisie semi-automatique spécifique au langage. Il est disponible lorsque vous écrivez du code C# dans l’éditeur de code et le déboguez dans la fenêtre de commande en mode Exécution .
Listes de saisie semi-automatique
Les listes de saisie semi-automatique IntelliSense en C# contiennent des jetons des membres de liste, compléter Word, etc. Il fournit un accès rapide aux éléments suivants :
Membres d’un type ou d’un espace de noms
Variables, commandes et noms de fonctions
Extraits de code
Mots clés de langage
Méthodes d’extension
Les listes d’achèvement en C# filtrent les jetons non pertinents et préélectionnent les jetons en fonction du contexte. Pour plus d’informations, consultez listes de saisie semi-automatique filtrées.
Extraits de code dans les listes de saisie semi-automatique
En C#, la liste de saisie semi-automatique inclut des extraits de code pour vous aider à insérer facilement des corps de code prédéfinis dans votre programme. Les extraits de code apparaissent dans la liste de saisie semi-automatique en tant que texte contextuel de l’extrait de code. Pour plus d’informations sur les extraits de code disponibles en C# par défaut, consultez les extraits de code C#.
Mots clés de langue dans les listes de saisie semi-automatique
La liste de saisie semi-automatique inclut des mots clés de langage C# pour vous aider à les insérer dans votre programme. Pour plus d’informations sur les mots clés de langage C#, consultez mots clés C#.
Méthodes d’extension dans les listes de saisie semi-automatique
En C#, la liste de saisie semi-automatique inclut des méthodes d’extension qui sont dans l’étendue.
Les méthodes d’extension utilisent une icône différente de celle des méthodes d’instance. Lorsqu’une méthode d’instance et une méthode d’extension portant le même nom sont toutes les deux dans l’étendue, la liste de saisie semi-automatique affiche l’icône de méthode d’extension.
Remarque
Pour String les objets, la liste de saisie semi-automatique n’affiche pas toutes les méthodes d’extension.
Listes de saisie semi-automatique filtrées
IntelliSense supprime les membres inutiles de la liste de saisie semi-automatique à l’aide de filtres. C# filtre les listes de saisie semi-automatique qui s’affichent pour ces éléments :
Interfaces et classes de base : IntelliSense supprime automatiquement les éléments inutiles des listes d’achèvement d’interface et de classe de base, cette suppression inclut des bases de déclaration de classe, ainsi que des listes d’interface et des listes de contraintes. Par exemple, les énumérations n’apparaissent pas dans la liste de saisie semi-automatique pour les classes de base, car les énumérations ne peuvent pas être utilisées pour les classes de base. La liste de saisie semi-automatique des classes de base contient uniquement des interfaces et des espaces de noms. Si vous sélectionnez un élément dans la liste, puis tapez une clé virgule, IntelliSense supprime les classes de base de la liste de saisie semi-automatique. Cela est dû au fait que C# ne prend pas en charge plusieurs héritages. Le même comportement se produit également pour les clauses de contrainte.
Attributs : lorsque vous appliquez un attribut à un type, la liste de saisie semi-automatique est filtrée afin que la liste contienne uniquement les types qui descendent des espaces de noms qui contiennent ces types. Par exemple : Attribute.
Clauses Catch : seuls les mots clés try-catch valides apparaissent dans la liste de saisie semi-automatique.
Initialiseurs d’objet : seuls les membres qui peuvent être initialisés apparaissent dans la liste de saisie semi-automatique.
nouveau mot clé : lorsque vous tapez
new, puis appuyez sur la touche Espace , une liste d’achèvement s’affiche. IntelliSense sélectionne automatiquement un élément dans la liste, en fonction du contexte dans votre code. Par exemple, IntelliSense sélectionne automatiquement des éléments dans la liste de saisie semi-automatique pour les déclarations et pour les instructions de retour dans les méthodes.mot clé enum : lorsque vous appuyez sur la touche Espace après un signe égal pour une affectation d’énumération, une liste d’achèvement s’affiche. IntelliSense sélectionne automatiquement un élément dans la liste, en fonction du contexte dans votre code. Par exemple, IntelliSense sélectionne automatiquement des éléments dans la liste de saisie semi-automatique après avoir tapé le
returnmot clé et lorsque vous effectuez une déclaration.en tant qu’opérateurs : IntelliSense affiche automatiquement une liste de saisie semi-automatiquement filtrée lorsque vous appuyez sur la touche Espace après avoir tapé le ou
asleismot clé.Événements : lorsque vous tapez le mot clé
event, la liste d’achèvement contient uniquement des types délégués.Aide du paramètre : IntelliSense trie automatiquement la première surcharge de méthode qui correspond aux paramètres à mesure que vous les entrez. Si plusieurs surcharges de méthode sont disponibles, vous pouvez utiliser les flèches haut et bas pour accéder à la surcharge possible suivante dans la liste.
Membres les plus récemment utilisés
IntelliSense mémorise les membres que vous avez récemment sélectionnés dans la zone Membres de liste contextuelle pour la saisie semi-automatique du nom d’objet. La prochaine fois que vous utilisez la liste des membres, les membres les plus récemment utilisés sont affichés en haut. IntelliSense efface l’historique des membres les plus récemment utilisés entre chaque session Visual Studio.
remplacer
Lorsque vous tapez remplacement , puis appuyez sur La touche Espace , IntelliSense affiche tous les membres de classe de base valides que vous pouvez remplacer dans une zone de liste contextuelle. Tapez le type de retour de la méthode après override avoir invité IntelliSense à afficher uniquement les méthodes qui retournent le même type. Si IntelliSense ne trouve aucune correspondance, il affiche tous les membres de la classe de base.
IntelliSense amélioré par l’IA
Visual Studio IntelliCode fournit des listes d’achèvement IntelliSense améliorées par l’intelligence artificielle. IntelliCode prédit l’API la plus susceptible d’être utilisée plutôt que de présenter simplement une liste alphabétique de membres. Il utilise votre contexte de code actuel et les modèles pour fournir la liste dynamique.
Génération de code automatique
Ajouter à l’aide
L’opération Ajouter à l’aide d’IntelliSense ajoute automatiquement des directives requises using à votre fichier de code. Cette fonctionnalité vous permet de maintenir votre focus sur le code que vous écrivez plutôt que de vous obliger à déplacer votre focus vers une autre partie du code.
Pour lancer l’opération Add using , positionnez le curseur sur une référence de type qui ne peut pas être résolue. Par exemple, lorsque vous créez une application console, puis que vous ajoutez XmlReader au corps de la Main méthode, une ligne de bascule rouge apparaît sur cette ligne de code, car la référence de type ne peut pas être résolue. Vous pouvez ensuite appeler l’opération Ajouter à l’aide du menu Actions rapides . L’élément de menu Utilisation <de l’espace de noms> est visible uniquement lorsque le curseur est positionné sur la référence non résolue.
Pour cet exemple, pour ajouter automatiquement la using directive à votre code, sélectionnez l’icône d’ampoule d’erreur, puis choisissez à l’aide de System.Xml ;.
Ajouter des directives d’utilisation manquantes lors du collage
IntelliSense peut ajouter automatiquement des directives manquantes using à votre code lorsque vous collez un type dans votre fichier de code. Cette fonctionnalité vous permet de gagner du temps en automatisant la tâche d’ajout de directives manquantes à l’aide de directives lors du collage d’un type dans un fichier.
Pour activer cette fonctionnalité :
- Sélectionnez Outils>Options.
- Sélectionnez Éditeur> de texteC# (ou Visual Basic) >Avancé dans le volet gauche.
- Sous Utiliser des directives, sélectionnez Ajouter des directives à l’aide de directives manquantes lors du collage.
Supprimer et trier les utilisations
L’option Remove and Sort Usings trie using et supprime et extern déclarations sans modifier le comportement du code source. Au fil du temps, les fichiers sources peuvent devenir trop volumineux et difficiles à lire en raison de directives inutiles et non organisationnées using . L’option Remove and Sort Usings compacte le code source en supprimant les directives inutilisées using et améliore la lisibilité en les triant.
Pour utiliser cette option, sélectionnez Modifier les>utilisations de tri> dans la barre de menus, ou cliquez avec le bouton droit dans l’éditeur de code, puis sélectionnez Supprimer et trier les utilisations.
Implémenter l’interface
IntelliSense offre une option pour vous aider à implémenter une interface pendant que vous travaillez dans l’éditeur de code. Normalement, pour implémenter correctement une interface, vous devez créer une déclaration de méthode pour chaque membre de l’interface de votre classe. Après avoir tapé le nom d’une interface dans une déclaration de classe, IntelliSense affiche une ampoule Actions rapides . L’ampoule vous donne la possibilité d’implémenter l’interface automatiquement, à l’aide d’un nommage explicite ou implicite. Sous nommage explicite, les déclarations de méthode portent le nom de l’interface. Sous nommage implicite, les déclarations de méthode n’indiquent pas l’interface à laquelle elles appartiennent. Une méthode d’interface nommée explicitement est accessible uniquement via une instance d’interface, et non via une instance de classe. Pour plus d’informations, consultez Implémentation d’interface explicite.
Implémenter l’interface génère le nombre minimal de stubs de méthode requis pour satisfaire l’interface. Si une classe de base implémente des parties de l’interface, ces stubs ne sont pas régénérés.
Implémenter une classe de base abstraite
IntelliSense offre une option permettant d’implémenter automatiquement des membres d’une classe de base abstraite tout en travaillant dans l’éditeur de code. Normalement, pour implémenter des membres d’une classe de base abstraite, vous devez créer une définition de méthode pour chaque méthode de la classe de base abstraite dans votre classe dérivée. Après avoir tapé le nom d’une classe de base abstraite dans une déclaration de classe, IntelliSense affiche une ampoule Actions rapides . L’ampoule vous donne la possibilité d’implémenter automatiquement les méthodes de classe de base.
Les stubs de méthode générés par la fonctionnalité Implémenter la classe de base abstraite sont modélisés par l’extrait de code défini dans le fichier MethodStub.snippet. Les extraits de code sont modifiables. Pour plus d’informations, consultez Procédure pas à pas : créer un extrait de code dans Visual Studio.
Générer à partir de l’utilisation
La fonctionnalité Générer à partir de l’utilisation vous permet d’utiliser des classes et des membres avant de les définir. Vous pouvez générer un stub pour n’importe quelle classe, constructeur, méthode, propriété, champ ou énumération que vous souhaitez utiliser, mais qui ne sont pas définies. Vous pouvez générer de nouveaux types et membres sans quitter votre emplacement actuel dans le code. Cela réduit l’interruption de votre flux de travail.
Une ligne de bascule rouge apparaît sous chaque identificateur non défini. Lorsque vous placez le pointeur de la souris sur l’identificateur, un message d’erreur s’affiche dans une info-bulle. Pour afficher les options appropriées, utilisez l’une des procédures suivantes :
Sélectionnez l’identificateur non défini. Une ampoule d’erreur Actions rapides s’affiche sous l’identificateur. Sélectionnez l’ampoule d’erreur.
Sélectionnez l’identificateur non défini, puis appuyez sur Ctrl+Point (.).
Cliquez avec le bouton droit sur l’identificateur non défini, puis sélectionnez Actions rapides et refactorisations.
Les options suivantes peuvent apparaître :
Générer une propriété
Générer un champ
Générer une méthode
Générer une classe
Générer un nouveau type (pour une classe, un struct, une interface ou une énumération)
Générer des gestionnaires d’événements
Dans l’éditeur de code, IntelliSense peut vous aider à connecter des méthodes (gestionnaires d’événements) aux champs d’événement.
Lorsque vous tapez l’opérateur += après un champ d’événement dans un fichier .cs , IntelliSense vous invite à appuyer sur tabulation . Cela insère une nouvelle instance d’un délégué qui pointe vers la méthode qui gère l’événement.
Si vous appuyez sur tabulation , IntelliSense termine automatiquement l’instruction pour vous et affiche la référence du gestionnaire d’événements en tant que texte sélectionné dans l’éditeur de code. Pour terminer le raccordement automatique d’événements, IntelliSense vous invite à appuyer à nouveau sur tabulation pour créer un stub vide pour le gestionnaire d’événements.
Si vous appuyez à nouveau sur tabulation , IntelliSense ajoute un stub de méthode avec la signature correcte et place le curseur dans le corps de votre gestionnaire d’événements.
Si un délégué créé par IntelliSense fait référence à un gestionnaire d’événements existant, IntelliSense communique ces informations dans l’info-bulle. Vous pouvez ensuite modifier cette référence ; le texte est déjà sélectionné dans l’éditeur de code. Sinon, le raccordement automatique d’événements est maintenant terminé.
Remarque
Utilisez la commande Naviguer vers l’arrière dans le menu Affichage (Ctrl+-) pour revenir à l’instruction de raccordement d’événements.