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


278

Нещодавно я почав використовувати редактор коду Visual Studio. Я дуже люблю це, але є одна важлива особливість (для мене), яку я так і не зміг знайти. Чи є список методів, подібний до Навігатора в NetBeans або спадний список членів у Visual Studio?



Ця відсутня функція відстежується за адресою github.com/Microsoft/vscode/isissue/5605
foz

Відповіді:


266

Так, є workbench.action.gotoSymbolкоманда. У Windows та Linux за замовчуванням встановлено значення CTRL+ Shift+ O.

Якщо ця команда недоступна для типів файлів, з якими ви працюєте, то слід переглянути розширення VSCode . Не всі мови підтримують цю функцію.


4
Хм, не та поведінка, на яку я сподівався. Я спробував пару типів файлів: у файлі C ++ написано: "На жаль, у нас немає інформації про символ для файлу", а в Python написано: "У розширенні Python сталася помилка".
Джим Карр

Ну, бовтайте, схоже, що мені не пощастило. Я спробував інше розширення Python, тепер я отримую помилку "немає інформації про символ". :( Дякую за інформацію, проте
Джим Карр


Відмінно працює в JavaScript, ярлик може бути різним при використанні інших клавіш швидкого доступу
Ray1618

38
Якщо додати до цього, якщо натиснути :після Ctrl+ Shift + O, результати будуть групуватись за типом, у якому будуть перераховані всі функції в одному підписку.
Адітя Вікас Деварапаллі

184

Оновлення : Як зазначено в коментарях @ jeff-xiao, це розширення застаріле, і тепер воно є вбудована функція коду Visual Studio . Він повинен бути доступний внизу провідника файлів у вигляді "Контуру".

Попередній текст: Зараз існує розширення, яке це підтримує. Структура коду створює панель у розділі «Провідник», а для JavaScript, перелічить змінні та функції у файлі. Я використовую це деякий час зараз, і він дряпає свербіж, який у мене був. Інші коментатори згадували, що він добре підтримує Python та PHP.

Це все ще здається в розробці, але у мене не було жодних проблем. Версія розробки доступна на GitHub . Якщо ви автор читаєте це - дякую!

Ось як це виглядає:
Плагін коду Контур для VSCode

Якщо контур коду не видно, ви можете показати його: введіть тут опис зображення


4
Хороший дзвінок, добре працює з JavaScript і немає полювання на приховані комбінації клавіш, приємно.
Джуліан Найт

6
Розширення застаріле: ВИДАЛЕНО. Будь ласка, використовуйте подання " Контур", яке постачається з кодом Visual Studio.
Сяо

Я правда, що не підтримує перегляд усіх методів класу в Python?
Ерік Олд

Я думаю, що іноді у вигляді контуру нічого не відображається для файлів python.
Нурп

Чи є такий варіант для C ++?
Дікла

118

Go to symbolКоманда виклику коду :

  • macOS: cmd+ shift+ o(літера o, не нуль)

  • Windows / Linux: ctrl+ shift+o

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


3
Підтверджено, що він також працює і на PHP, але зауважте, що у мене встановлений плагін PHP intellisense. Я не знаю, чи має це значення.
Ігнасіо Сегура

Має бути простий спосіб просто побачити методи. Болісно прокрутити список інших матеріалів, щоб знайти розділ методів. Хтось повинен зробити плагін, щоб це зробити, якщо інше неможливо.
orrd

1
введіть @ замість: для переліку функцій Go
Altimac

1
Якщо не працює для PHP, тоді переконайтеся, що у вас є плагін "PHP Symbols", і він працюватиме точно.
Neeraj Singh


17

У VSCode 1,24 ви можете це зробити.

Клацніть правою кнопкою миші на EXPLORERбічній панелі і поставте галочку Outline.


1
Я не можу досліджувати методи класу js, використовуючи контур!
Легенди

добре працює для Java! Я використовую оновлену версію vscode 2020
oshan2csd

15

ОНОВЛЕННЯ: Функції розширення тепер вбудовані, а саме розширення застаріле

Я знайшов це розширення: Code Outline . Ось як це виглядає:


Ось як це виглядає


Я вважаю, що саме цього ви шукали.


1
Це розширення більше не існує. Я думаю, що вона не була опублікована, оскільки тепер функція вбудована у VSCode.
Гама11

13

Сьогодні такої функції немає, CTRL+ SHIFT+ O== CTRL+ P@ працює не для всіх мов.

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

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

5

Для користувачів PHP :)

  1. Переконайтеся, що у вас є плагін " PHP Symbol ", тоді ви можете отримати всі методи та клас у нижній частині бічної панелі " OUTLINE ".

  2. Натисніть ⌘ command+ ⇧ shift+ Oу "macOS" або Ctrl+ Shift+ Oпід час використання "Windows"

ПОВІДОМЛЕННЯ: введіть тут опис зображення

@ Символ: введіть тут опис зображення


4

Це додаткова частина відповіді на це запитання тут, але я подумав, що це може бути корисним. Як уже згадувало багато людей, Visual Studio Code має частину OUTLINE, яка забезпечує можливість перегляду різних функцій та показу їх на стороні.

Я також хотів додати, що якщо ви перевіряєте позначку слідування курсору, вона виділяє це ім'я функції у вікні OUTLINE, що дуже корисно для перегляду та визначення того, в якій функції ви перебуваєте.

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


4

На ринку Visual Studio Code є дуже приємне розширення з назвою Go To Method для навігації лише методами у файлі коду.

Натисніть Ctrl+ Shift+ Pі введіть install extensionsі натисніть клавішу Enter

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

Тепер введіть Add to methodу вікні пошуку ринку розширень і натисніть клавішу Enter.

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

Клацніть, installщоб встановити розширення.

Останній крок - прив’язати комбінацію клавіш до команди, workbench.action.gotoMethodщоб зробити розробником справжню продуктивність.



3

У 2020 році версія VSCode
Cmd+P

  • # - Знайдіть символ у файлах
  • @ - Знайти символ у файлі
  • @: - Групувати символи у файлі

Символи у файлі Код VS 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нечіткий рядок шукає символи.
Roopak A Nelliat

так приємна пропозиція .. але ви знаєте, що для цього потрібні два кроки, де як ctrl + shift + o - це один крок. :)
Moh .S


1

Існує плагін під назвою show function, який перераховує всі визначення функції у файлі. Це також дозволяє сортувати функції, щоб можна було легко шукати їх.


2
Посилання на рішення вітається, але будь ласка, переконайтеся, що ваша відповідь корисна без неї: додайте контекст навколо посилання, щоб ваші колеги користувачі мали уявлення про те, що це таке і чому воно є, а потім цитуйте найбільш релевантну частину сторінки, яку ви " повторне посилання на випадок, якщо цільова сторінка недоступна. Відповіді, які є трохи більше ніж посилання, можуть бути видалені.
Зої

1

Для пошуку методу у всіх файлах ви можете натиснути CTRL + P а потім розпочати пошук#

приклад: #signin

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


0

Погляньте на Show Functionsплагін. Він може перераховувати функції, символи, закладки за допомогою налаштованих регулярних виразів. Регулярні вирази - справжня економія, особливо, коли ви не використовуєте основну мову та коли CodeOutline не виконує завдання. Неприємно бачити розділене вікно з цими функціями (CodeOutline, здається, краще інтегровано), але принаймні є що використовувати

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.