Скрытые особенности Xcode

С огромным притоком новичков в Xcode, я уверен, что есть много советов и трюков Xcode для совместного использования.

Каковы твои?

Ответ 1

Переключиться на заголовок/исходный файл

  • Option ⌥ Command ⌘ Up Arrow ↑

  • Просмотр > Переключиться на заголовок/исходный файл

Переключение между файлами .m и .h.

  • В Xcode 4 это ctrl Command ⌘ Up Arrow ↑

Ответ 2

⌘ Command + Double-Click on a symbol: перейти к определению символа.

⌥ Option + Double-Click on a symbol: Найти текст в документации символа. (Работает только в том случае, если у вас установлен символ Doc Set.)

Панель избранного:

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

Чтобы отобразить панель избранного, выберите следующий пункт меню:

  • View > Layout > Show Favorites Bar

Ответ 3

Горячие клавиши быстрого доступа

Tab ⇥ ИЛИ Control ⌃ /: выберите следующий аргумент автозаполнения.

Shift ⇧ Tab ⇥ ИЛИ Shift ⇧ Control ⌃ /: выберите предыдущий аргумент автозаполнения.

Escape ⎋: показывает всплывающий список автоматического завершения.

Ответ 4

Отключить предупреждение "отменить предыдущую точку"

Когда вы пытаетесь отменить после сохранения, вы получите следующее сообщение:

"Вы собираетесь отменить последнее этот файл был сохранен. Вы хотите сделать это?"

Чтобы избавиться от этого предупреждения, введите в окно терминала следующее:

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO

Измените название компании в файлах шаблонов

Вставьте это в приложение терминала:

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 файлов для изменения. Количество раз, когда сборка завершилась неудачей, потому что я забыл изменить эту строку, смешно.

Быстрый переход к группе в панели "Группы и файлы"

  • Control ⌃ Option ⌥ Shift ⇧ + < Первая буква имени группы >

Если вы удерживаете три вышеуказанных клавиши, вы можете быстро перейти к группам на левой странице (Группы и файлы), нажав первую букву имени группы. Например, Control ⌃ Option ⌥ Shift ⇧ T переносит вас в целевые объекты и Control ⌃ Option ⌥ Shift ⇧ S в источник. Нажмите его еще раз, и он перейдет к SCM. Иногда для этого требуется несколько попыток (я не знаю почему).


Велоспорт между вариантами автозаполнения

  • Control ⌃ .

  • Shift ⇧ Control ⌃ .: Циклы назад между вариантами автозаполнения.

Control ⌃ . (Control-Period) после того, как слово автоматически примет первый выбор из меню автозаполнения. Попробуйте ввести log, затем Control ⌃ ., и вы получите хороший оператор NSLog. Нажмите ее еще раз, чтобы просмотреть все варианты. Чтобы просмотреть все изменяемые варианты, введите NSMu, затем Control ⌃ ..


Быстрая справка

  • Control ⌃ Command ⌘ ? (Пока ваш курсор находится в символе для поиска)

  • Option ⌥ + < Дважды щелкните символ >

  • Справкa > Быстрая справка

Чтобы перейти к документации из окна быстрой справки, щелкните значок книги в правом верхнем углу.


См. документацию для символа

  • Command ⌘ Option ⌥ + < Дважды щелкните символ >

Обращается к полной документации.


Сделать смежные варианты текста

  • Command ⌘ Control ⌃ + < Двойной щелчок в редакторе >

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


Используйте привязки клавиш Emacs для перемещения по вашему коду

Этот трюк работает во всех приложениях Cocoa на Mac (TextEdit, Mail и т.д.) и, возможно, является одной из самых полезных вещей, которые нужно знать.

  • Command ⌘ Left Arrow или Command ⌘ Right Arrow Переход к началу и концу строки.
  • Control ^ a и Control ^ e Сделайте то же самое
  • Control ^ n и Control ^ p Переместите курсор вверх или вниз по одной строке.
  • Control ^ f и Control ^ b Переместите курсор назад или переместите одно пространство

Нажатие Shift ⇧ с любым из них выбирает текст между точками перемещения. Поместите курсор в середину строки и нажмите Shift ⇧ Control ^ e, и вы можете выбрать его в конце строки.

Нажатие Option ⌥ позволит вам перемещаться по словам с помощью клавиатуры. Option ⌥ Control ^ f пропускается до конца текущего слова. Option ⌥ Control ^ b переходит к началу текущего слова. Вы также можете использовать Option ⌥ с помощью клавиш со стрелками влево и вправо для перемещения по одному слову в любое время.

  • Control ^ Left Arrow и Control ^ Right Arrow перемещает курсор между частями слова с верблюжьим слоем.

Попробуйте с помощью NSMutableArray. Вы можете быстро изменить его на NSArray, поместив курсор после NS, нажав Shift ⇧ Control ^ Right Arrow, затем Delete.

Ответ 5

Открыть быстро...

  • Command ⌘ Shift ⇧ D

  • Файл > Открыть быстро...

Я большой поклонник функции Открыть быстро, что особенно хорошо в Xcode 3.1 и более поздних версиях. Если вы хотите открыть файл или определение символа в своем проекте или в структуре, просто нажмите комбинацию клавиш, введите бит имени файла или символа, используйте Up Arrow ↑ и Down Arrow ↓, чтобы выбрать правильный результат (если необходимо), а затем нажмите Return ↩, чтобы открыть файл или перейти к определению символа.

В Xcode 4:

  • Command ⌘ Shift ⇧ o

Open Quickly использует текущее слово в качестве поискового запроса

Кроме того, что-то, что я не знал о Xcode до двух минут назад (когда schwa указал на комментарий в комментарии) заключается в том, что если текст редактора caret находится внутри слова, когда вызывается Open Quickly, это слово будет использоваться в качестве условия поиска Открыть быстро.

Ответ 6

Используйте #pragma для организации

Вы можете использовать:

#pragma mark Foo

... как способ организации методов в ваших исходных файлах. При просмотре символов через всплывающее меню все, что вы помещаете в Foo, будет выделено жирным шрифтом в списке.

Чтобы отобразить разделитель (то есть горизонтальную линию), используйте:

#pragma mark -

Это очень полезно, особенно для группировки методов делегатов или других групп методов.

Ответ 7

1. Точка останова на "objc_exception_throw"

У вас всегда должна быть точка останова на objc_exception_throw.

2. Отладка проблем сохранения/выпуска с переменными "Zombie"

Используйте следующий код:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

... для отладки проблем сохранения и выпуска. Для получения дополнительной информации см. Раздел "Поиск утечек памяти" в Документ Apple отладки приложений.

3. Переход к классу в Xcode из Interface Builder

Command ⌘ + Double-click для объекта в окне интерфейса Builder для перехода к этому классу в Xcode. Это очень удобно с файловым владельцем.

4. Повторное использование настраиваемых объектов в Interface Builder

Перетащите настраиваемый объект обратно в библиотеку интерфейса Builder для последующего повторного использования.

5. Выберите перекрывающиеся элементы в Interface Builder

Control ⌃ Shift ⇧ + Click для объекта в Interface Builder, чтобы увидеть меню всех объектов под мышью.

6. Руководство по созданию жестов интерфейса Builder

Руководство по созданию жестов интерфейса Builder.

Ответ 8

Ctrl + 2: доступ к всплывающему списку методов и символов в текущем файле.

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

Ответ 9

Редактор масштабирования В

Если ваше окно отображает представление деталей и редактора, вы можете масштабировать редактор в, чтобы развернуть вид редактора на всю высоту окна. (Это довольно легко найти, но многие, похоже, не замечают этого.)

Вы можете сделать это, используя один из следующих способов:

  • Command ⌘ Shift ⇧ E

  • Просмотр > Редактор масштабирования в

  • Перетащите разделитель (между редактором окно и список файлов над ним) вверх.

Ответ 11

Не так много сочетаний клавиш, но комментарии TODO в источнике отображаются в раскрывающемся списке метода/функции в верхней части редактора.

Итак, например:

// TODO: Some task that needs to be done.

отображается в раскрывающемся списке методов и функций, поэтому вы можете перейти к нему напрямую.

Большинство Java IDE показывают маркер для этих тегов задач в полосе прокрутки, что лучше, но это также работает.

Ответ 12

⌘- [и ⌘-] для отступов и отступов выделенного текста. Упрощает очистку исходного кода.

Ответ 13

Удерживайте опцию, разделяя окна на разделение по вертикали, а не по горизонтали.

Ответ 14

Дважды щелкните квадратные скобки или круглые скобки, чтобы получить скобки и скобки.

Ответ 15

Управляйте текстовым редактором 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 a man page, too

Ответ 16

"Ctrl + стрелка влево/вправо", чтобы сделать текстовую навигацию внутри слова. Я использую эту функцию, чтобы перепрыгнуть курсор с одного "верблюжьего горба" в переменную на следующую.

Ответ 17

Xcode поддерживает текстовые макросы, которые можно вызвать через меню "Вставить текстовое макро" в конце меню "Правка". Они также могут быть вызваны с использованием технологии Code Sense, Xcode для завершения кода.

Например, ввод последовательности клавиш p i m control-period будет вставлять #import "file" в ваш код с file как редактируемый токен, как с завершением кода.

Ответ 18

Щелкните правой кнопкой мыши на переменной в вашей функции и нажмите "Изменить все" в области. Я использовал это много с тех пор, как нашел это.

ctrl T

Ответ 19

Вы можете запустить Xcode препроцессор над файлом Info.plist:

        <key>CFBundleShortVersionString</key>
    #ifdef DEBUG
        <string>1.0 (debug)</string>
    #else
        <string>1.0</string>
    #endif

Подробнее см. http://developer.apple.com/technotes/tn2007/tn2175.html.

Ответ 20

Отладка - как использовать GDB

Будучи новичком в этом, я обнаружил, что ловушка и идентификация ошибок устрашающая работа. Консоль, несмотря на то, что она является мощным инструментом, обычно не дает очень интуитивных результатов и зная, что вы просмотр в отладчике может быть одинаково сложным Понимаю. С помощью некоторых из них, ребята на Stack переполнение и хорошая статья о отладки, которая может быть найдена в Cocoa With Love становится немного более дружелюбным.

Ответ 21

Перемещение между открытыми файлами вперед и назад:
⌥⌘ & LARR;
⌥⌘ →

Ответ 22

Технически советник интерфейса, но они представляют собой пару, сопоставляемую с книгами, поэтому я не думаю, что это не в тему...

Shift + Right Нажмите на один из ваших элементов управления, и вы получите хороший список выбора иерархии объектов. Больше нет кликов, кликов, кликов, разочарований!

Ответ 23

С трекпадом:

  • Проведите три пальца вверх - переключение между заголовком и исходным файлом, что проще, чем Cmd + Opt + Up;
  • Проведите пальцем по три пальца вниз. Переключитесь между объявлением и определением при выборе класса или метода, найдите эти два вида в настоящее время;
  • Проведите три пальца влево - Вернитесь назад (Cmd + Opt + Left);
  • Проведите пальцем по три пальца вправо - Идите вперед (Cmd + Opt + Right);

Протестировано с помощью Xcode 3.2.5.

Ответ 24

Браузер класса в Xcode! Достигнуто нажатием shift + + c. Вы можете уменьшить масштаб, чтобы показывать только активный проект. Это дает вам менее суматоху вид, пока вы хотите только просмотреть иерархию классов.

Ответ 25

Используя ], чтобы автоматически вставить [ в нужное место

Я родом из .NET-фона, поэтому я использую для ввода символа и ввода одного из его имен методов. Поэтому я всегда забываю включить [, прежде чем начинать вводить имя объекта. Обычно это означало, что мне нужно будет перейти к началу строки и добавить [ вручную. Я не понимал, что могу просто нажать ] в текущей позиции курсора, и он будет добавлен автоматически.

Есть способы использовать это: либо после ввода имени функции, либо непосредственно перед вводом имени функции.

Способ 1: после имени функции

myObject testMethod ]

... становится:

[myObject testMethod]

... с кареткой, расположенной после ].

Способ 2: перед именем функции

myObject ]

... становится:

[myObject ]

... с кареткой, расположенной прямо перед ].

Преимущество последнего (2) заключается в том, что завершение кода будет фильтроваться по методам вашего объекта. Если первый (1), если вы попытаетесь вызвать завершение кода сразу после myObject, он не будет отфильтрован. Другим преимуществом (2) является то, что он ведет себя как другие языки программирования, использующие точечную нотацию. Вы вводите имя объекта, а затем просто ] вместо . для доступа к методу.

Ответ 26

Выберите блок текста и введите cmd-/, чтобы прокомментировать его. Сделайте это снова, чтобы удалить символы комментариев.

Это особенно полезно в сочетании с согласованием фигурных скобок, двойным щелчком по сбалансированным символам (parens, braces, brackets).

Ответ 27

Возможность быстро увидеть все методы, которые можно переопределить из суперкласса. Например, при расширении UITableViewController я просто ввожу свою реализацию:

- ta

а затем я нажимаю ESC, чтобы увидеть все методы из моего суперкласса, которые начинаются с "ta", например

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

Это также работает при принятии протоколов.

Ответ 28

ctrl + alt + + r, чтобы очистить журнал

Ответ 29

Command ⌘ alt ⌥ shift T: покажите текущий отредактированный файл в дереве проекта.

Ответ 30

При использовании Code Sense со многими клавиатурами используйте control + ,, чтобы отобразить список доступных завершений, control + ., чтобы вставить наиболее вероятное завершение, и control + / и shift + control + / для перемещения между токенами-заполнителями. Все клавиши находятся на клавиатуре прямо под домашним рядом, что хорошо для мышечной памяти.