Есть ли способ перейти к определенному методу в XCode? - PullRequest
57 голосов
/ 21 марта 2012

Я использую Xcode 4.3 для разработки Objective-C.Одна функция, которая мне нравится в других текстовых редакторах (я знаю, что XCode - это IDE), это переход к определению метода в том же файле кода.

Например, если я нахожусь в @implementation of Calculator и калькулятор имеет 10 методов, мне понравится способ перехода между ними.

Если я нажму команду + LI может перейти к определенному номеру строки, есть ли способ перейти аналогичным образом, но к определению метода?Например, вместо того, чтобы набирать номер строки, введите только начало имени метода.

Можно ли как-то открыть диалоговое окно, ввести начало сигнатуры метода и сразу увидеть результаты поиска, и если я выберу один методэто приведет меня к этому?

Есть ли способ перейти от метода к следующему?

Ответы [ 5 ]

145 голосов
/ 26 января 2013

Я думаю, это то, что вы ищете:

Введите ctrl - 6 , чтобы активировать «Показать элементы документа» в «Панели перехода»,Затем начните вводить часть метода, который вы ищете, чтобы сузить результаты.

Пример:

Чтобы перейти прямо к - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Введите ctrl - 6 , введите "cellFor", стрелкавниз, чтобы метод был выделен, и нажмите Enter .Редактор перейдет прямо к этому методу.

Кстати, вы можете использовать ctrl - 1 , ctrl - 2 , ctrl - 3 и т. Д. Для доступа к различным разделам «панели переходов».

19 голосов
/ 21 марта 2012

Если я вас правильно понимаю, попробуйте Command-Shift-O. Он также используется как средство поиска файлов.

13 голосов
/ 21 марта 2012

Возможно, я не понимаю, что вам нужно, но, похоже, у вас есть несколько вариантов.

  • Контроль + Команда + J должна привести вас к определению.
  • Контроль + Команда + до / Контроль + Команда + Авансовый будет переключаться между файлами .h / .m.
  • Находясь в файле .m, я часто использую раскрывающийся список методов.
1 голос
/ 23 ноября 2017

Если вы хотите нажать последовательность клавиш, например Команда + Опция + , чтобы перейти к следующему методу, или Команда + Опция + , чтобы перейти к предыдущему методу, такого животного нет в XCode. Предыдущие инструменты разработки macOS имели такую ​​возможность, но Xcode серьезно не хватает основ ...

Самый быстрый переход вперед и назад в методах исходного файла заключается в выполнении Command + F (Find) для [\-\+][ \t]*\( в качестве регулярного выражения. Затем вы можете Команда + G (Найти далее), чтобы перейти к следующему методу или Команда + Shift + G (Найти предыдущий), чтобы перейти к предыдущему методу.

Если вы дисциплинированы в определениях своих методов, вы можете вместо этого искать - ( или + ( как обычную текстовую строку ... чуть быстрее.

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

1 голос
/ 21 марта 2012

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

Если то, что вы ищете, не видно, вы можете использовать Search Navigator (Command-3) для поиска по коду.

В зависимости от того, что вы ищете, вам также может быть полезна функция быстрой справки на панели утилит. Если вы выберете символ, быстрая справка даст вам хотя бы некоторую базовую информацию об этом символе. Для символов в iOS или MacOS X API вы получите немного помощи. Если вы выбрали свой собственный символ, он сообщит вам, где этот символ объявлен, и вы можете нажать на имя файла, чтобы перейти к объявлению.

Я не думаю, что есть команда для перехода к следующему методу (куда в методе вы хотите перейти?). Если вам нужны такие вещи, вам могут пригодиться функции свертывания кода в Xcode. Вы можете сложить весь метод или только некоторые из блоков в методе. Очень полезно для получения рельефа, когда вы впервые смотрите на большой файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...