Список методов в коде Visual Studio


278

Я недавно начал использовать редактор кода Visual Studio. Я действительно люблю это, но есть одна критическая особенность (для меня), которую я не смог найти. Есть ли список методов, аналогичный навигатору в NetBeans или раскрывающемуся списку элементов в Visual Studio?



Эта функция отсутствует отслеживается на github.com/Microsoft/vscode/issues/5605
Фос

Ответы:


266

Да, есть workbench.action.gotoSymbolкоманда. В Windows и Linux по умолчанию установлено CTRL+ Shift+ O.

Если эта команда недоступна для типов файлов, с которыми вы работаете, вам следует взглянуть на расширения VSCode . Не все языки поддерживают эту функцию.


4
Хм, не то поведение, на которое я надеялся. Я попробовал пару типов файлов: в файле C ++ написано «К сожалению, у нас нет символьной информации для файла», а в Python написано «Произошла ошибка в расширении Python».
Джим Карр

Ну, черт, похоже, мне не повезло. Я попробовал другое расширение Python, теперь я получаю сообщение об ошибке «нет информации о символах». :( Спасибо за информацию, хотя.
Джим Карр


Прекрасно работает в JavaScript, ярлыки могут отличаться при использовании других сочетаний клавиш
Ray1618

39
В дополнение к этому, если вы нажмете :после Ctrl+ Shift + O, результаты будут сгруппированы по типу, который перечислит все функции в одном подсписке.
Адитья Викас Деварапалли

184

Обновление : как указано в комментариях @ jeff-xiao, это расширение устарело, и теперь оно является встроенной функцией кода Visual Studio . Он должен быть доступен в нижней части проводника в виде «Контур».

Предыдущий текст: теперь есть расширение, которое поддерживает это. Code Outline создает панель в разделе «Explorer» и для JavaScript, перечисляет переменные и функции в файле. Я использую это некоторое время сейчас, и это царапает зуд, который у меня был. Другие комментаторы упоминали, что он хорошо поддерживает Python и PHP.

Кажется, он все еще в разработке, но у меня не было никаких проблем. Разрабатываемая версия доступна на GitHub . Если вы автор, читающий это - спасибо!

Вот как это выглядит:
Плагин Code Outline для VSCode

Если Code Outline не отображается, вы можете показать его: введите описание изображения здесь


4
Хороший вызов, хорошо работает с JavaScript и не ищет скрытых сочетаний клавиш, приятно.
Джулиан Найт

6
Расширение устарело: УСТАРЕЛО. Пожалуйста, используйте представление Outline, которое поставляется с кодом Visual Studio.
Сяо

Я прав, что не поддерживает просмотр всех методов класса в Python?
Эрик Олд

Я предполагаю, что иногда представление схемы ничего не показывает для файлов Python.
Nurp

Есть ли такая опция для C ++?
Дикла

118

Вызвать Go to symbolкоманду кода :

  • MacOS: cmd+ shift+ o(буква o, а не ноль)

  • Windows / Linux: ctrl+ shift+o

Ввод двоеточия ( :) после вызова Go to symbolсгруппирует символы по типу (классы, интерфейсы, методы, свойства, переменные). Затем просто перейдите к methodsразделу.


3
Подтвердил, что он также работает на PHP, но, пожалуйста, обратите внимание, что у меня установлен плагин intellisense PHP. Я не знаю, имеет ли это какое-то значение.
Игнасио Сегура,

Должен быть простой способ просто увидеть методы. Пролистать список множества других вещей, чтобы найти раздел методов, довольно сложно. Кто-то должен сделать плагин, чтобы сделать это, если это невозможно иначе.
orrd

1
введите @ вместо: для списка функций Go
Altimac

1
Если вы не работаете с PHP, убедитесь, что у вас есть плагин «PHP Symbols» и он будет работать наверняка.
Нирадж Сингх


17

В VSCode 1.24 вы можете это сделать.

Щелкните правой кнопкой мыши на EXPLORERбоковой панели и отметьте Outline.


1
Я не могу исследовать методы класса js, используя схему!
Легенды

отлично работает на Java! Я использую vscode 2020 обновленную версию
oshan2csd

15

ОБНОВЛЕНИЕ: функции расширения теперь встроены, а само расширение устарело

Я нашел это расширение: набросок кода . Вот как это выглядит:


Вот так это выглядит


Я считаю, что это то, что вы искали.


1
Это расширение больше не существует. Я думаю, что это было неопубликовано, потому что функция теперь встроена в VSCode.
Gama11

13

Сегодня такой функции нет, CTRL+ SHIFT+ O== CTRL+ P@ работает не для всех языков.

В качестве последнего средства вы можете использовать панель поиска - хотя она не так проста в использовании, как вы хотели бы - вы можете ввести это регулярное выражение в панели поиска, чтобы найти все функции:

function\s([_A-Za-z0-9]+)\s*\(

5

Для пользователей PHP :)

  1. Убедитесь , что у вас есть « PHP Symbol » плагин , то вы можете получить все методы и класс в « АННОТАЦИЯ » Низ боковой панели.

  2. Нажмите ⌘ command+ ⇧ shift+ Oв «macOS» или Ctrl+ Shift+ Oпри использовании «Windows»

КОНТУР: введите описание изображения здесь

@Условное обозначение: введите описание изображения здесь


4

Это дополнительная часть ответа на этот вопрос, но я подумал, что это может быть полезно. Как упоминали многие люди, Visual Studio Code имеет часть OUTLINE, которая дает возможность просматривать различные функции и показывать их сбоку.

Я также хотел добавить, что если вы отметите метку следования за курсором, она подсвечивает имя этой функции в представлении OUTLINE, что очень полезно при просмотре и просмотре, в какой функции вы находитесь.

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


4

Торговая площадка кода Visual Studio имеет очень хорошее расширение под названием « Перейти к методу» для навигации только по методам в файле кода.

Hit Ctrl+ Shift+ Pи введите install extensionsи нажмите клавишу ВВОД

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

Теперь введите Add to methodв поле поиска рынка расширений и нажмите Enter.

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

Нажмите, installчтобы установить расширение.

Последний шаг - это привязка сочетания клавиш к команде, workbench.action.gotoMethodчтобы сделать ее реальной для разработчика.



3

В 2020 году версия VSCode
Cmd+P

  • # - найти символ в файлах
  • @ - Найти символ в файле
  • @: - Группировать символы в файле

Символы в файле VS Code v1.44.0


2
ctrl+shift+o // This should work for javascript files by default

Для PHP установите расширение PHP SYMBOLS

ДЛЯ PYTHON установите расширение PYTHON

При перезагрузке это будет нормально работать


2
Вы также можете сделать Ctrl+Pи набрать @- здесь перечислены все функции / символы в файле. А при наборе текста @function_nameвводит нечеткую строку по символам.
Рупак Неллиат,

да хорошее предложение .. но вы знаете, что это требует двух шагов, где, как Ctrl + Shift + O является одним шагом. :)
Мох. С.


1

Существует плагин под названием show functions, который перечисляет все определения функций в файле. Это также позволяет сортировать функции, чтобы можно было легко их искать.


2
Ссылка на решение приветствуется, но, пожалуйста, убедитесь, что ваш ответ полезен без нее: добавьте контекст вокруг ссылки, чтобы ваши коллеги-пользователи имели представление о том, что это такое и почему, а затем процитируйте наиболее релевантную часть страницы, которую вы Повторная ссылка на случай, если целевая страница недоступна. Ответы, которые немного больше, чем ссылка, могут быть удалены.
Зоя

1

Для поиска метода во всех файлах вы можете нажать, CTRL + Pа затем начать поиск с#

пример : #signin

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


0

Посмотрите на Show Functionsплагин. Он может перечислить функции, символы, закладки с помощью настраиваемых регулярных выражений. Регулярные выражения действительно помогают, особенно когда вы не используете основной язык и когда CodeOutline не выполняет свою работу. Ужасно видеть разделенное окно с этими функциями (кажется, что CodeOutline лучше интегрирован), но, по крайней мере, есть что использовать

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.