Скрытые возможности Xcode
С огромным наплывом новичков в Xcode, я уверен, есть много советов и приемов Xcode, которыми можно поделиться.
Какие у тебя?
89 ответов
Переключиться на заголовок / исходный файл
Вариант ⌥ Команда ⌘ Стрелка вверх ↑
Вид > Переключиться на заголовок / исходный файл
Переключение между .m
а также .h
файлы.
- В Xcode 4 это команда Ctrl ⌘ Стрелка вверх ↑
⌘ Command + Double-Click on a symbol
: Перейти к определению символа.
⌥ Вариант + Double-Click on a symbol
: Найти текст в документации символа. (Работает только в том случае, если у вас установлен набор документов для этого символа.)
Панель избранного:
Панель избранного точно такая же, как у вас в Safari для хранения - ну - избранных. Я часто использую его как место для хранения ярлыков (что вы можете сделать с помощью перетаскивания) для файлов, которые я использую сейчас. Обычно это более полезно, когда я работаю с большим или незнакомым проектом.
Чтобы показать панель избранного, выберите следующий пункт меню:
View
>Layout
>Show Favorites Bar
Автоматическое завершение сочетаний клавиш
Вкладка ⇥ ИЛИ Управление ⌃ /: Выберите следующий аргумент автозаполнения.
Shift ⇧ Tab ⇥ OR Shift ⇧ Control ⌃ /: выберите предыдущий аргумент автозаполнения.
Escape ⎋: показывает всплывающий список автоматического завершения.
Отключить предупреждение "Отменить последнюю точку"
При попытке отменить после сохранения вы получите следующее приглашение:
"Вы собираетесь отменить последнюю точку, в которой был сохранен этот файл. Вы хотите сделать это?"
Чтобы избавиться от этого предупреждения, введите в окне терминала следующее:
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
Изменить название компании в файлах шаблонов
Вставьте это в приложение Terminal:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
Изменить " com.yourcompanyname
"во всех ваших шаблонах:
- Найти каталог:
/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
- Используйте ваш любимый многофайловый инструмент поиска и замены, чтобы изменить
com.yourcompany
на любое значение, которое вы обычно используете для создания устройства. Я использовал BBEdit multi-find-and-replace после того, как открыл весь каталог. Вы должны заменить значение во всехinfo.plist
файлы. Я нашел 8 файлов для изменения. Количество неудачных попыток сборки, потому что я забыл изменить эту строку, просто смешно.
Быстрый переход к группе в панели "Группы и файлы"
- Управление ⌃ Опция ⌥ Shift ⇧ + <Первая буква имени группы>
Если вы удерживаете три клавиши выше, вы можете быстро перейти к группам на левой странице (Группы и файлы), нажав первую букву имени группы. Например, Control ⌃ Option ⌥ Shift ⇧ T позволяет перейти к " Целям" и Control Control Option ⌥ Shift ⇧ S к источнику. Нажмите еще раз, и он перейдет к SCM. Иногда для этого нужно несколько попыток (я не знаю почему).
Переключение между вариантами автозаполнения
Контроль ⌃ .
Shift ⇧ Control ⌃ .: Цикл назад между вариантами автозаполнения.
Контроль ⌃ . (Control-Period) после слова автоматически принимает первый выбор из меню автозаполнения. Попробуйте набрать log
затем контроль ⌃ . и вы получите хороший NSLog
заявление. Нажмите ее еще раз, чтобы просмотреть любые варианты. Чтобы увидеть все изменяемые варианты, введите NSMu
затем контроль ⌃ .,
Быстрая Помощь
Управление ⌃ Команда ⌘ ? (Пока ваш курсор находится в символе, чтобы посмотреть вверх)
Вариант ⌥ + <Дважды щелкните символ>
Справка> Быстрая помощь
Чтобы перейти к документации из окна быстрой справки, щелкните значок книги в правом верхнем углу.
Смотрите документацию для символа
- Команда ⌘ Параметр ⌥ + <Дважды щелкните символ>
Перенесет вас прямо к полной документации.
Сделайте несмежные текстовые выделения
- Команда ⌘ Control ⌃ + <Двойной щелчок в редакторе>
Используйте вышеупомянутый ярлык для странного способа выбора нескольких слов. Вы можете сделать выбор слов в совершенно разных местах, а затем удалить или скопировать их все сразу. Не уверен, что это полезно. Это Xcode только, насколько я могу судить.
Используйте привязки клавиш Emacs для навигации по вашему коду
Этот прием работает во всех приложениях Cocoa на Mac (TextEdit, Mail и т. Д.) И, возможно, является одной из самых полезных вещей, которую нужно знать.
- Команда ⌘ Стрелка влево или Команда ⌘ Стрелка вправо Позволяет перейти к началу и концу строки.
- Контроль ^ а Контроль ^ е Делать то же самое
- Control ^ n и Control ^ p Переместить курсор вверх или вниз на одну строку.
- Control ^ f и Control ^ b Переместить курсор назад или вперед на один пробел
Нажатие Shift ⇧ с любым из них выделяет текст между точками перемещения. Поместите курсор в середину строки и нажмите Shift ⇧ Control ^ e, и вы можете выбрать конец строки.
Нажатие Option ⌥ позволит вам перемещаться по словам с помощью клавиатуры. Опция ⌥ Control ^ f пропускает до конца текущего слова. Опция ⌥ Control ^ b пропускает начало текущего слова. Вы также можете использовать опцию ⌥ с клавишами со стрелками влево и вправо для перемещения по одному слову за раз.
- Control ^ Стрелка влево и Control ^ Стрелка вправо перемещает курсор между верблюдами в части слова.
Попробуйте это с NSMutableArray
, Вы можете быстро изменить его на NSArray
поместив курсор после NS
, нажав Shift ⇧ Control ^ Стрелка вправо, затем Удалить.
Открыть быстро...
Команда ⌘ Shift ⇧ D
Файл > Открыть быстро...
Я большой поклонник функции Open Quickly, которая особенно хороша в Xcode 3.1 и более поздних версиях. Если вы хотите открыть файл или определение символа, которое находится в вашем проекте или в структуре, просто нажмите сочетание клавиш, введите немного имени файла или символа, используйте стрелку вверх ↑ и стрелку вниз ↓, чтобы выбрать нужный результат (если необходимо), а затем нажмите " Return" ↩, чтобы открыть файл или перейти к определению символа.
В Xcode 4:
- Команда ⌘ Shift ⇧ o
Открыть Быстро использует текущее слово в качестве поискового запроса.
Кроме того, кое-что, что я не знал о XCode до двух минут назад (когда schwa указал на это в комментарии), это то, что, если текстовая вставка редактора находится внутри слова, когда вызывается Open Quickly, это слово будет использоваться как Открыть Быстрый поиск.
Используйте #pragma для организации
Ты можешь использовать:
#pragma mark Foo
... как способ организации методов в ваших исходных файлах. При просмотре символов через всплывающее меню, все, что вы помещаете в Foo
будет выделен жирным шрифтом в списке.
Чтобы отобразить разделитель (т.е. горизонтальную линию), используйте:
#pragma mark -
Это очень полезно, особенно для группировки методов делегатов или других групп методов.
1. Точка останова на "objc_exception_throw"
Вы всегда должны иметь точку останова наobjc_exception_throw
,
2. Отладка сохранения / выпуска проблем с переменными "Zombie"
Используйте следующий код:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... отладить, сохранить и освободить проблемы. Дополнительные сведения см. В разделе "Поиск утечек памяти" в документе "Приложения отладки Apple".
3. Переход к классу в XCode из Интерфейсного Разработчика
Команда ⌘ + Double-click
на объекте в Окне Документа Интерфейсного Разработчика, чтобы перейти к этому классу в XCode. Это очень удобно с владельцем файла.
4. Повторное использование пользовательских объектов в Интерфейсном Разработчике
Перетащите настроенный объект обратно в библиотеку Interface Builder для последующего повторного использования.
5. Выберите перекрывающиеся элементы в Интерфейсном Разработчике
Управление ⌃ Shift ⇧ + Click
на объекте в Интерфейсном Разработчике, чтобы видеть меню всех объектов под мышью.
6. Интерфейсный Жест Руководство по Жесту
Ctrl + 2: доступ к всплывающему списку методов и символов в текущем файле.
Это очень полезно, потому что с помощью этого ярлыка вы можете перемещаться по файлу полностью с помощью клавиатуры. Когда вы доберетесь до списка, начните вводить символы, и в списке выберите нужный символ.
Zoom Editor In
Если ваше окно отображает как детализацию, так и представление редактора, вы можете увеличить масштаб редактора, чтобы расширить представление редактора до полной высоты окна. (Это довольно легко найти, но многие, кажется, упускают это из виду.)
Вы можете сделать это, используя один из следующих методов:
Команда ⌘ Shift ⇧ E
View > Zoom Editor In
Перетащите разделитель (между окном редактора и списком файлов над ним) вверх.
Получите полный список сочетаний клавиш для Xcode Колина Уилера (доступен в формате PDF или PNG). Распечатайте и держите его где-нибудь на виду (у меня на стене рядом с экраном).
редактировать: обновленные версии для Xcode 3.2
редактировать 2: обновленные версии для Xcode 4
Не так много сочетаний клавиш, но комментарии TODO в источнике отображаются в раскрывающемся списке методов / функций в верхней части редактора.
Так, например:
// TODO: Some task that needs to be done.
отображается в раскрывающемся списке методов и функций, так что вы можете перейти к нему напрямую.
Большинство Java IDE показывают маркер для этих тегов задач на полосе прокрутки, что лучше, но это также работает.
⌘-[и ⌘-] для отступа и отступа выделенного текста. Облегчает очистку исходного кода.
Удерживайте Option при разделении окон для разделения по вертикали, а не по горизонтали.
Дважды щелкните квадратные скобки или скобки, чтобы получить совпадение скобок и скобок.
Управляйте текстовым редактором Xcode из командной строки: xed
> xed -x # open a new untitled document
> xed -xc foo.txt # create foo.txt and open it
> xed -l 2000 foo.txt # open foo.txt and go to line 2000
# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile
> man xed # there's a man page, too
"Ctrl+ Стрелка влево / вправо" для перемещения по тексту внутри слова. Я использую эту функцию для перемещения курсора от одного "верблюжьего горба" в переменной к следующему.
Щелкните правой кнопкой мыши переменную в вашей функции и выберите "Редактировать все в области видимости". Я использовал это много, так как я узнал об этом.
Ctrl ⌘ T
Xcode поддерживает текстовые макросы, которые можно вызвать через меню " Вставить текстовый макрос" в конце меню " Правка". Они также могут быть вызваны с использованием Code Sense, технологии завершения кода Xcode.
Например, набрав последовательность клавиш p i m control-period
вставит #import "file"
в ваш код, с file
как редактируемый токен, как при завершении кода.
Вы можете заставить Xcode запустить препроцессор над вашим файлом Info.plist:
<Ключ>CFBundleShortVersionString ключ> #ifdef DEBUG1.0 (debug) string> #else <Строка>1.0 строка> #endif
См. http://developer.apple.com/technotes/tn2007/tn2175.html для получения подробной информации.
Отладка - как использовать GDB
Будучи новичком в этом, я считаю, что отлов и выявление неисправностей - довольно сложная работа. Консоль, несмотря на то, что она является мощным инструментом, обычно не дает очень интуитивных результатов, и знание того, на что вы смотрите в отладчике, может быть одинаково трудным для понимания. С помощью некоторых из них, ребят из Stack Overflow, и хорошей статьи об отладке, которую можно найти в Cocoa With Love, она становится немного более дружелюбной.
Перемещайтесь между открытыми файлами назад и вперед:
⌥⌘ ←
⌥⌘ →
Технически это совет для Interface Builder, но это пара, подобранная по книге, так что я не думаю, что это не по теме...
Shift + правый клик на одном из ваших элементов управления, и вы получите хороший список выбора иерархии объектов. Нет больше нажмите, нажмите, нажмите, разочарование!
С трекпадом:
- Проведите тремя пальцами вверх - переключение между заголовком и исходным файлом, что проще, чем Cmd + Opt + Up;
- Проведите тремя пальцами вниз - переключайтесь между объявлением и определением при выборе класса или метода, найденных в настоящее время этими двумя видами;
- Проведите тремя пальцами влево - Вернитесь назад (Cmd + Opt + Left);
- Проведите тремя пальцами вправо - Идите вперед (Cmd + Opt + Right);
Протестировано с Xcode 3.2.5.
Браузер классов в Xcode! Достигается нажатием Shift + ⌘ + c. Вы можете уменьшить область, чтобы показать только ваш активный проект. Это дает вам менее загроможденное представление, пока вы только хотите просмотреть иерархию классов.
Используя ] для автоматической вставки [
в правильном месте
Я пришел из.NET фона, поэтому я привык набирать символ, а затем вводить одно из имен его методов. Поэтому я всегда забываю включать [
прежде чем я начну вводить имя объекта. Обычно это означало, что мне нужно перейти в начало строки и добавить [
вручную. Я не понимал, что могу просто нажать ] в текущей позиции курсора, и он будет добавлен автоматически.
Есть способы использовать это: либо после ввода имени функции, либо непосредственно перед вводом имени функции.
Способ 1: после имени функции
myObject testMethod
]
... становится:
[myObject testMethod]
... с кареткой, расположенной после ]
,
Способ 2: перед именем функции
myObject
]
... становится:
[myObject ]
... с кареткой, расположенной прямо перед ]
,
Преимущество последнего (2) заключается в том, что завершение кода будет фильтровать методы вашего объекта. Принимая во внимание первый (1), если вы пытаетесь вызвать завершение кода сразу после myObject
не будет отфильтровано Другое преимущество (2) заключается в том, что он ведет себя больше как другие языки программирования, использующие точечную запись. Вы вводите имя объекта, затем просто ] вместо . чтобы получить доступ к методу.
Выберите блок текста и введите cmd-/, чтобы закомментировать его. Сделайте это снова, чтобы удалить комментарии персонажей.
Это особенно полезно в сочетании с сопоставлением скобок путем двойного щелчка на сбалансированных символах (скобки, скобки).
Возможность быстро увидеть все методы, которые можно переопределить в суперклассе. Например, при расширении UITableViewController я просто набираю свою реализацию:
- ta
а затем я нажимаю ESC, чтобы увидеть все методы из моего суперкласса, начинающиеся с "та", такие как
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Это также работает при принятии протоколов.
Команда " Alt" Shift T: показать текущий отредактированный файл в дереве проекта.
Используйте Class Browser, чтобы показать унаследованные методы
Справочная документация API Apple не показывает методы, унаследованные от суперкласса. Хотя иногда. Полезно иметь возможность видеть весь спектр функциональных возможностей, доступных для класса, включая собственный пользовательский класс. Вы можете использовать Class Browser (из меню Project), чтобы отобразить плоский или иерархический список всех классов, связанных с текущим проектом. В верхней панели в правой части окна браузера отображается список методов, связанных с объектом, выбранным в браузере. Вы можете использовать лист Настроить параметры, чтобы выбрать "Показать наследуемые члены", чтобы показать унаследованные методы, а также методы, определенные самим выбранным классом. Вы нажимаете на маленький символ книги, чтобы перейти к соответствующей документации.