Разработка проекта в среде Xcode подразумевает редактирование кода во многих файлах одновременно.

К счастью, среда Xcode предусмаривает множество способов для навигации по коду, многие из которых уже упоминались в предыдущих главах.

Перечислим некоторые из основных способов навигации в среде Xcode.

 

Навигатор проекта

Если вы знаете нечто об имени файла, то можете быстро его найти в окне навигатора проекта (<Command+l>), набрав его имя в поле поиска на панели фильтров в нижней части навигатора (Edit^FilterOFilter in Navigator, <Command+Option+J>). Например, наберите имя story, и вы увидите свои файлы . storyboard. Более того, использовав панель фильтров, вы можете нажать клавишу <ТаЬ>, а затем клавишу <Up> или <Down> для перемещения в окне навигатора проекта. Таким образом вы можете открыть искомый файл, используя только клавиши.

 

Навигатор символов

Если выделить первые две пиктограммы на панели фильтров (первые две имеют синий цвет, а третья — темная), то навигатор символов перечислит классы вашего проекта и их методы. Теперь вы можете перейти в поисковый метод. Как и в навигаторе проекта, здесь есть панель фильтров, помогающая найти то, что вы ищете.

Панель быстрых переходов

Каждый компонент пути к коду образует пункт меню.

Нижний уровень

На нижнем уровне (крайнем правом) в панели быстрых переходов находится список объявлений и определений методов и функций в вашем файле. Они перечислены в порядке появления (для того чтобы упорядочить их в алфавитном порядке, нажмите и удерживайте клавишу <Command>). Для того чтобы перейти к одному из них, выберите его в этом меню.

В меню нижнего уровня можно вставить заголовки разделов, выделенные полужирным шрифтом, используя директиву fpragma mark. Например, попробуйте модифицировать файл ViewController .m в проекте Empty Window.

#pragma mark - View lifecycle - (void)viewDidLoad {

[super viewDidLoad];

// Дополнительная настройка после загрузки представления...

}

В результате пункт viewDidLoad в меню нижнего уровня будет включен в раздел View lifecycle.

Для того чтобы в меню появилась разделительная линия, наберите директиву #pragma mark, значением которой является знак переноса. В предыдущем примере использованы и знак переноса (чтобы создать разделительную линию), и заголовок (чтобы создать заголовок, набранный полужирным шрифтом). Аналогично в меню нижнего уровня появятся комментарии, расположенные за пределами методов и начинающиеся символами ТО DO:, FIXME:, ???: или ! ! ! :.

 

Более высокие уровни

Компоненты пути высокого уровня представляют собой иерархические меню. Таким образом, любой из них можно использовать для перемещения вниз по иерархии файлов.

 

История

Каждая панель редактора запоминает имена файлов, которые в ней редактировались. Для просмотра этой истории надо нажать на треугольниках Back и Forward, которые являются кнопами и раскрывающимися списками (или выбрать команды Navigate1^ Go Back и Navigate1^ Go Forward, или нажать клавиши <Command+Control+Left> и <Command+ +Control+Right>.

 

Связанные элементы

Крайняя левая кнопка на панели быстрого перехода активизирует меню Related Items, иерархическое меню файлов, связанных с текущим файлом, например сопряженные файлы, суперклассы и включаемые файлы. В этот список входят даже методы, которые вызывают выделенный метод или вызываются им.

 

 

Меню компонентов пути на панели быстрых переходов можно фильтровать! Начните набирать строку при открытом меню панели быстрого перехода, что-tl-V бы фильтровать то, что отображается в этом меню. Эта фильтрация использует “интеллектуальный” поиск, а не точный поиск текста; например, набрав строку “adf”, мы найдем метод application: didFinishLaunchingWith Options : (если он не отображается в меню).

 

Окно помощника

Помощник позволяет находиться одновременно в двух местах. Нажмите и удерживайте клавишу <Option> во время навигации, чтобы открыть содержимое файла в окне помощника, а не в основном окне редактора. Меню Tracking в панели быстрых переходов в окне помощника автоматически устанавливает его связь с основным окном (механизм слежения обсуждался в главе 6).

 

Вкладки и окна

Находиться одновременно в двух местах можно, открыв вкладку или отдельное окно (см. главу 6).

 

Быстрый переход к определению

Команда Navigate=>Jump to Definition (<Command+Control+J>) позволяет быстро перейти к объявлению или определению символа, уже выделенного в коде.

 

Быстрое открытие

Команда File^Open Quickly (<Command+Shift+0>) выполняет поиск символа в коде или заголовочном файле Cocoa, открывая диалоговое окно.

 

Тонки прерывания

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

 

Поиск

Поиск — это форма навигации. В среде Xcode 5 меню Find стало не подменю меню Edit, а меню верхнего уровня. Среда Xcode имеет средства как для глобального поиска (Find^Find in Project/Workspace, <Command+Shift+F>), который эквивалентен навигатору поиска, так и для поиска на уровне редактора (Find=>Find, <Command+F>); не путайте их.

Возможности поиска очень важны. Если щелкнуть на пиктограмме с изображением увеличительного стекла в поле поиска, в раскрывающемся списке появятся дополнительные пункты. Команды глобального поиска включают область видимости (на рис. 9.3 область видимости определена пунктом In project), позволяя задавать конкретные способы поиска файла: щелкните на текущей области видимости, чтобы увидеть диалоговое окно и даже создать свою собственную область видимости. Существует также возможность поиска с помощью регулярных выражений. В этом механизме скрыта масса возможностей.

Для того чтобы заменить текст, щелкните на слове Find в левом конце панели поиска, чтобы активизировать всплывающее меню, и выберите команду Replace. Вы можете заменить все вхождения (Replace АН) или выбрать конкретные результаты поиска в навигаторе поиска и заменить только их (Replace). В среде Xcode 5 есть новшество, позволяющее удалять результаты поиска из навигатора поиска, чтобы защитить их от действия команды Replace АН. Команда Preview в навигаторе поиска открывает диалоговое окно, в котором демонстрируется возможный результат каждой замены и появляется возможность заранее

выбрать или отменить выбор конкретных замен. На уровне редактора необходимо нажать и удерживать клавишу <Option> до щелчка на кнопке Replace All, чтобы найти и заменить текст только в текущем выделении.

Существует более сложная форма поиска на уровне редактора — команда EdltorOEdlt All In Scope, которая выполняет одновременный поиск всех вхождений выделенного термина (обычно имени символа) в текущем наборе фигурных скобок. Этот механизм можно использовать для изменения имени переменной в ее области видимости или просто выяснить, где оно используется.

 

Для того чтобы изменить имя символа в коде, а также получить автоматическую интеллектуальную помощь при перестройках кода, которые часто возникают при программировании на языке Objective-C, используйте команду Refactoring среды Xcode (см. раздел "Внесение изменений в проекте” в справочнике Xcode).


 

 

 

Добавить комментарий