Панель навигатора представляет собой столбец информации, расположенный в левой части окна проекта.

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

Видимостью панели навигатора можно управлять (с помощью команд View=> Navigators1^ Hide/Show Navigator или комбинации клавиш <Command+0>); например, если вы хотите использовать панель навигатора для того, чтобы увидеть элемент или поработать с ним в поле редактора, временно скройте панель навигатора, чтобы сделать размеры экрана максимальными (особенно на маленьком дисплее). Ширину панели навигатора можно изменить, перетаскивая вертикальную линию на ее правом крае.

Панель навигатора может отображать восемь разных наборов информации; таким образом, на самом деле существует восемь навигаторов. Они представлены восемью пиктограммами, расположенными вдоль ее верхнего края; для переключения этих наборов можно использовать пиктограммы или комбинации клавиш (<Command+l>, <Command+2> и т.д.). Вы скоро привыкнете переключать навигатор по своему желанию, а нажатие соответствующих комбинаций клавиш станет рефлексом. Если панель навигатора скрыта, то нажатие комбинации клавиш одновременно открывает панель навигатора и выполняет переключение в этот навигатор.

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

Приступим к экспериментам с разными навигаторами.

Навигатор проекта (<Command+l>)

Щелкните здесь, чтобы перемещаться по файлам, образующим ваш проект. Например, щелкните на файле AppDelegate .m в папке Empty Window (эти образования, напоминающие папку, называются группами), чтобы открыть его исходный код в поле редактирования (рис. 6.1).

На верхнем уровне навигатора проекта рядом с голубой пиктограммой Xcode располагается сам проект Empty Window; щелкните на ней, чтобы увидеть настройки, связанные с вашим проектом и целевыми устройствами. Не изменяйте никаких настроек, смысла которых не знаете! Позднее я все вам объясню.

Панель фильтров, расположенная внизу навигатора проекта, позволяет ограничить виды отображаемых файлов; если файлов слишком много, очень удобно быстро находить файл с известным именем. Например, попытайтесь набрать строку “delegate” в поле поиска на панели фильтров. Не забудьте удалить ваши фильтры, когда закончите экспериментировать.

 

Если вы установили фильтр навигатора, он будет действовать, пока не будет удален, даже если вы закроете проект! Пользователи часто делают распространенную ошибку: устанавливают фильтр навигатора, забывают об этом, не обращают внимания на панель фильтров (потому что они чаще всего смотрят на сам навигатор» а не на панель фильтров, расположенную внизу) и спрашивают: “Эй» а куда делись все мои файлы?

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

Puc. 6.2. Навигатор проекта

Навигатор символов (<Command+2>)

Символ — это имя, обычно имя класса или метода. В зависимости от того, какая из трех пиктограмм выделена на панели фильтров внизу панели, вы можете увидеть стандартные символы Cocoa или символы, определенные в вашем проекте. Первая возможность может быть полезной формой документирования; вторая возможность облегчает навигацию по коду. Например, выделив первые две пиктограммы на панели фильтров (т.е. первые две пиктограммы подсвечены голубым цветом, а третья остается темной), вы увидите, насколько быстро можно найти определение метода AppDelegate' s applicationDidBecomeActive:.

Попробуйте выделить пиктограммы на панели фильтров разными способами, чтобы увидеть, как изменяется содержимое навигатора символов. Наберите строку в поле поиска на панели фильтров, чтобы ограничить символы, отображаемые в навигаторе символов; Например, попробуйте набрать строку “active” в поле поиска и посмотрите, что получится.

Навигатор поиска (<Command+3>)

Это мощное средство для глобального поиска текста в вашем проекте и даже в заголовочных файлах каркасов Cocoa. Его можно вызвать с помощью команды Find^Find in Project (<Command+Shift+F>). Слова, которые выводятся над окном поиска, описывают опции, которые доступны в данный момент; Они образуют раскрывающийся список, так что опции можно изменять, щелкая на них. Попытайтесь найти слово “delegate” (рис. 6.3). Для того чтобы перейти в место кода, содержащее данное слово, щелкните на результате поиска.

Искомые слова можно вводить в другом поисковом окне, расположенном на панели фильтров в нижней части экрана. (Пока я прекращаю упоминать панель фильтров, но каждый навигатор имеет его в том или ином виде.)

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

Puc. 6.3. Навигатор поиска

Навигатор проблем (<Command+4>)

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

Для того чтобы увидеть навигатор проблем в действии, внесите в вашу программу преднамеренную ошибку. Например, перейдите (как вы уже знаете, это можно сделать как минимум тремя способами) в файл AppDelegate .ш и в пустой строке после последнего комментария в верхней части файла, над строкой #import, наберите слово howdy. Соберите проект (нажав клавиши <Command+B>). Навигатор проблем выведет на экран несколько сообщений об ошибках, показывая, что компилятор не может распознать это недопустимое слово, находящееся в недопустимом месте. Щелкните на сообщении, чтобы увидеть проблему в файле. В вашем коде проблема может выделяться с помощью “шариков”, расположенных справа от строк, содержащих проблему; если навигатор поиска вам мешает, переключите его режим видимости с помощью команды Editors Issues1^ Hide/Show All Issues (клавиши <Command+Control+M>).

Теперь выделите слово howdy и удалите его; соберите проект снова, и ваша проблема исчезнет. Если бы в реальной жизни все было так же просто!

Навигатор тестирования (<Command+5>)

Этот навигатор является новшеством в среде Xcode 5. В нем перечисляются тестовые файлы и отдельные тестовые методы. Он позволяет выполнять тесты и проверять их результаты. Тест — это код, который не является частью вашего приложения; он выполняет часть кода вашего приложения, чтобы оценить, работает ли она так, как ожидалось.

По умолчанию проект в новой среде Xcode 5 содержит один тестовый файл, содержащий тестовый метод. Более подробно мы поговорим об этом в главе 9.

Навигатор отладки (<Command+6>)

По умолчанию этот навигатор появляется на экране, когда выполнение вашего кода приостанавливается для отладки. В среде Xcode нет строгого разделения между выполнением кода и его отладкой; среда остается той же самой. Разница заключается лишь в наличии или отсутствии точек прерывания (более подробно об отладке мы поговорим в главе 9).

Для того чтобы увидеть навигатор отладки в действии, необходимо установить в коде точки прерывания. Еще раз перейдите в файл AppDelegate .m, выберите строку return YES и команду Debug^Breakpoints^Add Breakpoint at Current Line. На этой строке появится голубая стрелка, указывающая на точку прерывания. Запустите проект. По умолчанию, обнаружив точку прерывания, панель навигатора переключится на панель отладки, и в нижней части экрана откроется окно Debug. Это общий макет (рис. 6.4), который скоро станет вам привычным при отладке проектов.

Навигатор отладки в среде Xcode 5 является новым. Он содержит числовую и графическую панели, в которых отображается профилирующая информация (CPU и Memory); щелкните на одной из них, чтобы увидеть обширную графическую информацию в окне редактора. Эта информация позволяет отслёживать возможные отклонения в работе приложения, не вызывая утилиту Instruments (см. главу 9). Для того чтобы изменить режим видимости профилирующей информации в верхней части навигатора отладки, щелкните на пиктограмме с изображением градусника (справа от имени процесса).

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

Панель Debug можно делать видимой или невидимой (View<=> Debug Area^ Hide/Show Debug Area или <Command-Shift-Y>). Она состоит из двух вложенных панелей — списка переменных и консоли. Их можно скрыть или сделать видимыми, щелкая на кнопках, расположенных в нижнем правом углу панели. Консоль также можно открыть, выбрав команду View^Debug Area ^Activate Console.

Список переменных (слева)

Этот список содержит переменные, находящиеся в области видимости выбранного метода в стеке вызовов.

Консоль (справа)

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

Макет отладки

Рис. 6.4. Макет отладки

 

Навигатор точек прерывания (<Command+7>)

Этот навигатор содержит список всех точек прерывания. В данный момент установлена только одна точка прерывания, но при активной отладке крупного проекта с многими точками прерывания этот навигатор оказывается незаменимым помощником. Кроме того, здесь можно создавать специальные точки прерывания (например, символические точки прерывания). В целом этот навигатор является центром управления существующими точками прерывания. Мы вернемся к нему в главе 9.

Навигатор журналов (<Command+8>)

Этот навигатор содержит список недавно выполненных действий, например команды сборки или запуска (отладки) приложения. Щелкните на листинге, чтобы увидеть (в окне редактора) файл журнала, сгенерированный при выполнении вами данного действия. Файл журнала может содержать информацию, которую невозможно получить никаким другим способом. Кроме того, он позволяет разбираться в консольных сообщениях, которые выводились ранее (“Какое исключение возникло во время последней отладки?”).

Например, щелкнув на листинге успешной сборки и выбрав команды вывода всех сообщений АН и Ail Messages с помощью фильтров, расположенных в верхней части журнала, вы увидите этапы выполнения сборки (рис. 6.5). Для вывода всей информации об этапе щелкните на нем, а затем на кнопке Expand Transcript, которая появляется справа (см. пункты меню Editor).

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

 

 Просмотр журнала

Pиc. 6.5. Просмотр журнала


Похожие статьи

 

 

 

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