Fenêtre Visual Studio qui affiche la liste des méthodes


126

Dans Visual Studio, existe-t-il une fenêtre qui affiche la liste des méthodes dans la classe active? Une petite fenêtre comme l'Explorateur de solutions serait formidable. Dans Eclipse, il y en a un.


2
Pour ceux qui recherchent dans le futur - CodeMaid propose une telle liste et bien plus encore! codemaid.net
BKSpurgeon

Réponses:


127

Il y a une liste déroulante juste au-dessus de la fenêtre de code:

texte alternatif

Il s'appelle Barre de navigation et contient trois listes déroulantes: la première liste déroulante contient le projet , le deuxième type et les troisièmes membres (méthodes).

Vous pouvez utiliser le raccourci Ctrl+ F2(déplacer le focus vers la liste déroulante du projet ) et appuyer Tabdeux fois (déplacer le focus vers la troisième liste déroulante) pour le focaliser, la flèche vers le bas agrandira la liste.

Image pleine grandeur


16
Savez-vous s'il existe un raccourci pour l'ouvrir? C'est ennuyeux d'utiliser la souris pour cela.
Mariusz Pawelski

@ChrisF, il semble que je ne vois pas cette fenêtre dans vs2012. Comment l'activer?
ysrb

@ysrb - Aucune idée. Je suis toujours sur VS2010 ici. Étant donné que cette question concernait VS2008, je vous suggère de poser une nouvelle question (lien vers celle-ci pour montrer que ce n'est pas un doublon).
ChrisF

10
Vous recherchez également un raccourci pour l'ouvrir et / ou une fenêtre ou un cadre ouvert en permanence.
Xonatron


43

J'ai trouvé comment activer le menu déroulant comme indiqué dans la première réponse (@ChrisF):

Allez dans Options-> Éditeur de texte -> (votre langue)

et cochez «Barre de navigation» dans la section d'affichage.


Vous sauvez ma journée!
Emanuel Gianico

J'ai toujours manqué la barre de navigation pour VB.NET. Cela le permet. Merci beaucoup.
huha

Vous trouverez «Options» dans le menu sous «Extras».
ohgodnotanotherone

Outils (onglet)> Options> Éditeur de texte> (votre langue)
SandstormNick

Merci mark.oliver.asp.newbie. Je viens de passer de 2015 à 2019 et j'essayais de trouver cette barre dans tout le menu d'options.
ExcelsiorTechSolutions

30

Depuis Visual Studio 2012, vous pouvez afficher le contour (champs et méthodes) dans l'explorateur de solutions en développant le nœud correspondant à votre fichier.


2
Je préfère de loin cette option à la liste déroulante, qui est classée par ordre alphabétique ennuyeux (à mon avis).
dbernard

Notez que si vous avez partial classalors tous les membres sont répertoriés sous ce nœud, pas seulement ceux que dans ce fichier.
Dai

24

Le raccourci vers la barre de navigation est Ctrl+ F2. Vous amène d'abord à la liste déroulante des types. Appuyez sur tab pour accéder à la liste déroulante de la méthode, puis entrez une méthode pour accéder à celle-ci.


22

ReSharper a un 'ReSharper | Windows | La fenêtre File Structure ', qui est utilisée pour visualiser la structure actuelle du fichier de code.


Très utile en effet, mais existe-t-il un raccourci clavier pour cette fenêtre?
Nicolas

`Alt +` est le raccourci clavier pour celui-là.
Hallmanac

19

Resharper a la fenêtre File Structure qui est très similaire à la vue de contour d'éclipse. Répondu à l'origine dans:

Visual Studio 2012: liste de toutes les méthodes de la classe

Aide pour le réaffûtage: http://www.jetbrains.com/resharper/webhelp/Reference__Windows__File_Structure_Window.html

Capture d'écran de la fenêtre Structure des fichiers


CTRL - F12 ouvre la fenêtre Aller à la navigation des membres dans Resharper. Il répertorie toutes les méthodes de la classe et vous donne la possibilité de rechercher.
WoZoNe

1
CTRL - F11 montre la fenêtre ci-dessus Resharper. Ceci est exactement ce que je cherchais.
gattsbr

11

Malgré que c'est une vieille question, peut-être que cette réponse vous a aidé comme m'a aidé.

vous pouvez télécharger l'extension codemaid à partir d'ici: site Web codemaid

il a beaucoup de fonctionnalités que vous pouvez trouver sur leur site Web.

celui qui est lié à cette question est le creusement de code

Visualisez et parcourez le contenu de vos fichiers C # et C ++ à partir d'une hiérarchie d'arborescence. Basculez rapidement entre les différentes méthodes de tri pour obtenir une meilleure vue d'ensemble. Faites glisser et déposez pour réorganiser le code. Consultez les scores de complexité de McCabe et des conseils pratiques.

en d'autres termes, cela vous permet de voir les méthodes et les propriétés et de les réorganiser simplement par glisser-déposer. c'est mon extension d'utilisation quotidienne


CodeMaid réimplémente la plupart des fonctionnalités VS intégrées et est excessif et désagréable de voir les éléments de menu dupliqués polluer l'EDI.
Ivan G.

Je ne pense pas, certaines fonctionnalités utiles comme ctrl+m+z, ctrl+m+space, ctrl+m+f, sort lines, clean whole solution, collapse all in solution explorer, arrange methods with drag and drop, method and properties treesont des outils que vous ne pouvez trouver dans certains outils comme reshraper.
Mo Hrad A

1
Je ne voulais pas dire que c'était une infraction, mais la plupart des procédures de "nettoyage de code" introduisent principalement des guerres saintes de style de codage dont je me fiche. Le produit est le premier. Je me fiche même de savoir s'il y a des espaces et des onglets dans un seul fichier, seulement la productivité.
Ivan G.

Le contour du code (pique) est en effet utile. Ce serait génial s'il reste synchronisé avec le membre actuellement actif / sélectionné dans l'éditeur de texte.
Markus L

@MarkusL, vous pouvez créer un nouveau numéro ici: github.com/codecadwallader/codemaid/labels/enhancement
Mo Hrad A

8

Il n'y a pas d'équivalent direct à la vue Outline dans Eclipse. La chose la plus proche que j'ai trouvée est la vue des classes, qui répertorie toutes les classes et leurs membres / méthodes. Il y a un champ de recherche en haut pour affiner la sélection.


Depuis VS 2010 sur C ++ ici, je préfère cette réponse car le menu déroulant qui cache mon code est ennuyeux. Un autre raccourci plus pratique pour afficher la vue de classe est Ctrl + Shift + C.
Jeff T.

5

Dans Visual Studio 2015, Affichage> Autres fenêtres> Affichage des ressources . Le raccourci clavier est Ctrl+ Shift+ E. Je trouve cela plus propre que Class View. Avec Class View Windows, vous pouvez filtrer les méthodes / attributs en fonction du modificateur d'accès (privé / protégé / public), etc.


2
Bien que cela répertorie les champs et les méthodes de la classe, vous devez d'abord accéder à la classe requise. Ce que l'OP demandait, c'était pour la classe active actuelle. c'est-à-dire celui actuellement ouvert en vue code. Si j'ai une classe longue de 3000 lignes avec 78 méthodes et 63 champs que j'ai actuellement ouverts et que je souhaite naviguer rapidement vers un nom de méthode connu, mais que je ne me souviens pas de son emplacement, devoir d'abord naviguer dans l'espace de noms n'est pas meilleur que Ctrl-F .
Draco18s ne fait plus confiance à SE

1
Merci c'est exactement ce que je cherchais! C'est un outil extrêmement utile.
user1529413

4

En haut de votre éditeur de texte, vous devriez avoir une liste déroulante qui répertorie toutes les méthodes, propriétés, etc. dans le type actuel; et il est cliquable (même si ces membres sont définis dans d'autres fichiers - auquel cas ils sont grisés mais vous pouvez toujours naviguer avec eux).

De plus, si vous utilisez l'explorateur de classes ( Ctrl+ Alt+ C) pour parcourir votre projet, vous obtiendrez un aperçu complet de tous vos types. Cependant, il ne semble pas y avoir de paramètre dans Outils / Options qui vous permet de suivre le type actif dans cette fenêtre (il y en a pour l'explorateur de solutions) - peut-être qu'une macro ou un complément est en ordre ...



1

Voulez-vous dire la fenêtre d'affichage de la classe (Affichage-> Affichage de la classe, ou Ctrl+ W, C)?

Vous avez également la fenêtre popup intellisence


Je pense qu'aucun de ces deux n'est utile. Dans la vue Classe, vous devez d'abord localiser votre classe. Pour afficher l'intellisense, vous devez écrire un nom de classe quelque part ou même l'instancier. D'autres réponses contiennent des solutions plus rapides et plus faciles à utiliser.
David Ferenczy Rogožan

1

Avec Visual Studio 2010

Vous choisissez Outils-> Paramètres-> Paramètres experts

Dans le coin en bas à gauche, vous verrez l'onglet "Vue de classe" à droite de l'onglet "Explorateur de solutions"

Dans la zone supérieure de la disposition "Vue de classe", vous verrez la liste des noms de classe, enum, struct, ... Dans la zone inférieure de la disposition "Vue de classe", vous verrez la liste des membres pour ces classes, enum ou struct


Comme l'a déjà répondu sagie, Dawid Ferenczy commente déjà: "Dans la vue Classe, vous devez d'abord localiser votre classe. Pour montrer intellisense, vous devez écrire un nom de classe quelque part ou même l'instancier. D'autres réponses contiennent des solutions plus rapides et plus faciles à utiliser. . "
Draco18s ne fait plus confiance à SE

1

Une bonne manière propre de faire ceci est d'utiliser View.SynchronizeClassView.

entrez la description de l'image ici

De plus, vous pouvez:

  • épingler votre fenêtre d'affichage de classe
  • réduire le volet supérieur (liste de toutes les classes)

Et maintenant, cela ressemble à la fonctionnalité de Visual Assist "Liste des méthodes dans le fichier actuel" (qui répertorie également les membres btw).


Où puis-je trouver ça View.SynchronizeClassView? Je ne trouve que la vue de classe «normale» dans Visual Studio 2017.
user11909

Il s'agit d'une commande que vous entrez dans la fenêtre de commande. Malheureusement, vous ne pouvez pas le configurer pour synchroniser automatiquement le ClassView et vous devez le faire manuellement à chaque fois. Vous pouvez attribuer un raccourci, mais cela reste un inconvénient inutile.
mKay

0

Microsoft n'a pas envie d'implémenter cet outil utile, mais si par hasard vous pouvez avoir Visual Assist, vous l'avez dans VAssistX> Tools> VA Outline . Le plugin n'est cependant pas gratuit.


0

J'utilise USysWare DPack depuis toujours. Il est très petit et non intrusif, donc si tout ce que vous voulez, c'est une fenêtre de raccourci rapide affichant la liste des méthodes du fichier actuel que vous utilisez, il fournit exactement cela. La bonne chose est que l'auteur est toujours actif après plus de 10 ans juste pour continuer à fournir les mêmes fonctionnalités dans la dernière version de VS.

https://marketplace.visualstudio.com/items?itemName=SergeyM.DPack-16348

Après l'installation, utilisez simplement Alt + Mpour afficher la fenêtre de la liste des méthodes. Je préfère montrer à tous les membres à la place, mais c'est à vous.


-1

Dans VS 2012, allez simplement dans Affichage> Vue de classe ... puis vous obtenez l'interface graphique de la vue de classe dans la zone de l'onglet principal. Maintenant, faites-le glisser sur le dock latéral et vous aurez exactement la même disposition que vous le feriez dans Eclipse.

-e


C'est quelque chose de différent. Il n'affiche pas les membres de la classe courante (classe ouverte dans un éditeur). Vous devez le localiser manuellement. Il est préférable d'utiliser l'explorateur de solutions (développez le fichier et la classe en dessous), car vous pouvez le synchroniser avec le fichier actuel.
David Ferenczy Rogožan

-1

Ma meilleure façon de faire est, que j'ouvre la fenêtre de définition de code, sous Affichage -> Fenêtre de définition de code ou appuyez sur Ctrl+ W,D .

Et puis je l'ai fait flotter et j'ai les définitions des méthodes dans des fenêtres séparées.

Cordialement


Comment répond-il à la question d'OP? Il n'a pas du tout besoin de définitions, juste une liste des membres de la classe. Pour voir une définition, vous pouvez généralement double-cliquer sur une méthode dans une telle liste.
David Ferenczy Rogožan

-4

grep -i "sous" nomfichier.vb> méthodes.txt grep -i "fonction" nomfichier.vb >> méthodes.txt


Veuillez expliquer comment cela répond à la question.
AdrianHHH

Elle répond à la question car cette solution fournit une liste de tous les sous-marins et fonctions d'une classe vb.
John Reichert

Il ne voulait pas de liste de méthodes dans une classe. Il avait besoin d'une fenêtre dans Visual Studio avec une liste de méthodes dans la classe active . Il a également fait référence à la même chose dans Eclipse. Il est évident que votre réponse concerne quelque chose de complètement différent.
David Ferenczy Rogožan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.