Окно Visual Studio, в котором отображается список методов

126

Есть ли в Visual Studio окно со списком методов активного класса? Небольшое окно вроде обозревателя решений было бы здорово. В Eclipse он есть.

Джек Када
источник
2
Для тех, кто ищет в будущем - CodeMaid предлагает такой список и многое другое! codemaid.net
BKSpurgeon

Ответы:

127

Прямо над окном кода есть выпадающий список:

альтернативный текст

Она называется панелью навигации и содержит три раскрывающихся списка: первый раскрывающийся список содержит проект , второй тип и третьи элементы (методы).

Вы можете использовать сочетание клавиш Ctrl+ F2(переместить фокус в раскрывающийся список проекта ) и Tabдважды нажать (переместить фокус в третий раскрывающийся список), чтобы сфокусировать его, стрелка вниз расширит список.

Полноразмерное изображение

ChrisF
источник
16
Вы знаете, есть ли ярлык, чтобы открыть это? Использовать для этого мышь неприятно.
Мариуш Павельски
@ChrisF, похоже, я не вижу этого окна в vs2012. Как включить?
ysrb
@ysrb - Понятия не имею. Я все еще здесь на VS2010. Учитывая, что этот вопрос касался VS2008, я бы посоветовал вам задать новый вопрос (обратная ссылка на него, чтобы показать, что это не дубликат).
ChrisF
10
Также ищу ярлык для открытия этого и / или постоянно открытого окна или фрейма.
Xonatron
43

Я нашел, как включить раскрывающийся список, как показано в первом ответе (@ChrisF):

Перейдите в Параметры-> Текстовый редактор -> (ваш язык)

и отметьте «Панель навигации» в разделе отображения.

mark.oliver.asp.newbie
источник
Ты спасешь мою приелку!
Эмануэль Джанико
Мне всегда не хватало панели навигации для VB.NET. Это позволяет. Большое спасибо.
хуха
Вы найдете «Параметры» в меню в разделе «Дополнительно».
ohgodnotanotherone 04
Инструменты (вкладка)> Параметры> Текстовый редактор> (ваш язык)
SandstormNick
Спасибо mark.oliver.asp.newbie. Я только что обновился с 2015 на 2019 и пытался найти эту панель во всем меню опций.
ExcelsiorTechSolutions,
30

Начиная с Visual Studio 2012, вы можете просматривать структуру (поля и методы) в обозревателе решений, развернув узел, соответствующий вашему файлу.

MLAR
источник
2
Я предпочитаю этот вариант, чем раскрывающийся, который досадно отсортирован по алфавиту (на мой взгляд).
dbernard
Обратите внимание, что если у вас есть, partial classто все члены перечислены под этим узлом, а не только те, которые находятся только в этом файле.
Дай
24

Ярлык для панели навигации - Ctrl+ F2. Сначала переводит вас к раскрывающемуся списку типов. Нажмите вкладку, чтобы перейти к раскрывающемуся списку методов, а затем введите метод, чтобы перейти к нему.

kejster
источник
22

В ReSharper есть «ReSharper | Windows | Окно File Structure ', которое используется для визуализации текущей файловой структуры кода.

sqeez3r
источник
Действительно, очень полезно, но есть ли для этого окна сочетание клавиш?
Николас
Alt + - это сочетание клавиш для этого.
Hallmanac
19

Resharper имеет окно структуры файлов, которое очень похоже на представление схемы затмения. Первоначально ответил на:

Visual Studio 2012: список всех методов в классе

Справка Resharper: http://www.jetbrains.com/resharper/webhelp/Reference__Windows__File_Structure_Window.html

Снимок экрана окна структуры файлов

Филип Питтл
источник
CTRL - F12 вызывает окно перехода к элементам в Resharper. Он перечисляет все методы в классе и дает вам возможность поиска.
WoZoNe
1
CTRL - F11 показывает вышеуказанное окно Resharper. Это именно то, что я искал.
gattsbr
11

Несмотря на то, что это старый вопрос, возможно, этот ответ поможет вам, как помог мне.

вы можете скачать расширение codemaid отсюда: сайт codemaid

у него много функций, которые вы можете найти на их веб-сайте.

тот, который связан с этим вопросом, - это копание кода

Визуализируйте и перемещайтесь по содержимому ваших файлов C # и C ++ в иерархии древовидного представления. Быстро переключайтесь между различными методами сортировки, чтобы получить лучший обзор. Перетащите, чтобы реорганизовать код. См. Оценки сложности McCabe и информативные подсказки.

Другими словами, это дает вам возможность видеть методы и свойства, а также реорганизовывать их с помощью перетаскивания. это мое расширение для повседневного использования

Mo Hrad A
источник
CodeMaid переопределяет большую часть встроенных функций VS, и неприятно видеть дублирующиеся элементы меню, загрязняющие среду IDE.
Иван Г.
Я не думаю , что это так, некоторые полезные функциональные нравится 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 treeинструменты , которые можно найти только в некоторых инструментах , таких как reshraper.
Mo Hrad A,
1
Я не считал это нарушением, но большинство процедур «очистки кода» в основном представляют собой священные войны стилей кодирования, которые меня не волнуют. Продукт первый. Меня даже не волнует, есть ли в одном файле пробелы и табуляции, только производительность.
Иван Г.
Схема кода (лопата) действительно полезна. Было бы здорово, если бы он синхронизировался с текущим активным / выбранным членом в текстовом редакторе.
Markus L
@MarkusL, вы можете создать здесь новую проблему: github.com/codecadwallader/codemaid/labels/enhancement
Mo Hrad A
8

В Eclipse нет прямого эквивалента Outline View. Самое близкое, что я нашел, - это представление классов, в котором перечислены все классы и их члены / методы. Чтобы сузить выбор, вверху есть поле поиска.

Бен Хоффштейн
источник
Поскольку здесь VS 2010 на C ++, я предпочитаю этот ответ, потому что раскрывающийся список, который скрывает мой код, раздражает. Еще один более удобный ярлык для отображения представления классов - это Ctrl + Shift + C.
Джефф Т.
5

В Visual Studio 2015 выберите «Просмотр»> «Другие окна»> «Просмотр ресурсов» . Сочетание клавиш - Ctrl+ Shift+ E. Я считаю, что это чище, чем представление классов. С Windows View Class вы можете фильтровать методы / атрибуты на основе модификатора доступа (частный / защищенный / общедоступный) и т. Д.

Шридхар Джаммаламадака
источник
2
Хотя здесь перечислены поля и методы класса, для этого необходимо в первую очередь перейти к требуемому классу. То, что просил OP, было для текущего активного класса. то есть тот, который в настоящее время открыт в режиме просмотра кода. Если у меня есть класс длиной 3000 строк с 78 методами и 63 полями, которые у меня в настоящее время открыты, и я хочу быстро перейти к известному имени метода, но не помню его местоположение, необходимость сначала перемещаться по пространству имен не лучше, чем Ctrl-F ,
Draco18s больше не доверяет SE
1
Спасибо, это именно то, что я искал! Это невероятно полезный инструмент.
user1529413
4

В верхней части текстового редактора должно быть раскрывающееся меню, в котором перечислены все методы, свойства и т. Д. В текущем типе; и он доступен для нажатия (даже если эти элементы определены в других файлах - в этом случае они неактивны, но вы все равно можете перемещаться по ним).

Кроме того, если вы используете Class Explorer ( Ctrl+ Alt+ C) для навигации по проекту, вы получите полный обзор всех ваших типов. Однако, похоже, нет настройки в Инструменты / Параметры, которая позволяет вам отслеживать активный тип в этом окне (есть для проводника решений) - возможно, макрос или надстройка в порядке ...

Андраш Золтан
источник
1

Вы имеете в виду окно просмотра класса (View-> Class View или Ctrl + W, C)?

У вас также есть всплывающее окно интеллекта

sagie
источник
Я не думаю, что что-то из этих двух полезно. В представлении «Класс» вам нужно сначала найти свой класс. Чтобы показать intellisense, вы должны где-нибудь написать имя класса или даже создать его экземпляр. Другие ответы содержат более быстрые и простые в использовании решения.
Давид Ференци Рогожан
1

С Visual Studio 2010

Вы выбираете Инструменты-> Настройки-> Дополнительные настройки

В левом нижнем углу вы увидите вкладку «Просмотр классов», справа следующая вкладка «Обозреватель решений».

В верхней области макета «Представление классов» вы увидите список имени класса, перечисления, структуры, ... В нижней области макета «Представление классов» вы увидите список членов для этих классов, перечислений или структура

Чуан Нг
источник
Как уже ответил sagie, Давид Ференци уже комментирует: «В представлении классов вы должны сначала найти свой класс. Чтобы показать intellisense, вы должны написать где-нибудь имя класса или даже создать его экземпляр. Другие ответы содержат более быстрые и простые в использовании решения «.
Draco18s больше не доверяет SE
1

Хороший чистый способ сделать это - использовать View.SynchronizeClassView.

введите описание изображения здесь

Дополнительно вы можете:

  • закрепите окно просмотра вашего класса
  • свернуть верхнюю панель (перечислить все классы)

И теперь это похоже на функцию Visual Assist «Список методов в текущем файле» (которая, кстати, также отображает список участников).

Алексис Паутро
источник
Где я это нашел View.SynchronizeClassView? Я могу найти только "нормальное" представление классов в Visual Studio 2017.
user11909
Это команда, которую вы вводите в Командном окне. К сожалению, вы не можете настроить автоматическую синхронизацию ClassView, и вам придется делать это каждый раз вручную. Вы можете назначить ярлык, но это все равно доставляет ненужные неудобства.
mKay 02
0

Microsoft не хочет внедрять этот полезный инструмент, но если у вас случайно может быть Visual Assist, вы найдете его в VAssistX> Инструменты> VA Outline . Однако плагин не бесплатный.

Йохан Д
источник
0

Использую USysWare DPack с незапамятных времен. Он очень маленький и не навязчивый, поэтому, если все, что вам нужно, это быстрое окно быстрого доступа, показывающее список методов текущего файла, который вы используете, оно предоставляет именно это. Хорошо, что автор по-прежнему активен спустя более 10 лет, просто чтобы продолжать предоставлять те же функции в последней версии VS.

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

После установки просто используйте, Alt + Mчтобы открыть окно со списком методов. Вместо этого я предпочитаю показывать всех участников, но решать вам.

ТИА
источник
-1

В VS 2012 просто перейдите в View> Class View ... затем вы получите графический интерфейс Class View в области основной вкладки. Теперь перетащите его на боковую док-станцию, и вы получите тот же макет, что и в Eclipse.

-e

heregear
источник
Это что-то другое. Он не показывает членов текущего класса (класс, открытый в редакторе). Вы должны найти его вручную. Лучше использовать обозреватель решений (развернуть файл и класс под ним), потому что вы можете синхронизировать его с текущим файлом.
Давид Ференци Рогожан
-1

Мой лучший способ сделать это - открыть окно определения кода в разделе Вид -> Окно определения кода или нажать Ctrl+ W,D .

А потом я получил его, и у меня есть определения методов в отдельных окнах.

С уважением

Марко Лебен
источник
Как он отвечает на вопрос OP? Ему вообще не нужны определения, просто список членов класса. Чтобы увидеть определение, обычно достаточно дважды щелкнуть метод в таком списке.
Давид Ференци Рогожан
-4

grep -i "sub" filename.vb> methods.txt grep -i "function" filename.vb >> methods.txt

Джон Райхерт
источник
Пожалуйста, объясните, как это дает ответ на вопрос.
AdrianHHH
Он отвечает на вопрос, потому что это решение предоставляет список всех подпрограмм и функций в классе vb.
Джон Райхерт,
Ему не нужен список методов в классе. Ему нужно было окно в Visual Studio со списком методов в активном классе. Он также упомянул то же самое в Eclipse. Очевидно, ваш ответ совсем о другом.
Давид Ференци Рогожан