Скрытые функции XCode

338
задан 11 revs, 8 users 52% 6 May 2012 в 06:23
поделиться

72 ответа

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

  • Опция вЊҐ Команда вЊ ˜ Стрелка вверх в † ‘

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

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

  • В Xcode 4 это ctrl Команда вЊ ˜ Стрелка вверх в †‘
343
ответ дан 8 revs, 3 users 72% 23 November 2019 в 00:37
поделиться

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

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

27
ответ дан 2 revs, 2 users 67% 23 November 2019 в 00:37
поделиться

У Вас может быть 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 для деталей.

28
ответ дан Dewayne Christensen 23 November 2019 в 00:37
поделиться

Щелкните правой кнопкой по переменной в своей функции и нажмите, редактируют все в объеме. Использование его много, так как я узнал это.

ctrl вЊ ˜ T

30
ответ дан 2 revs, 2 users 67% 23 November 2019 в 00:37
поделиться

XCode поддерживает текстовые макросы, которые могут быть вызваны через меню Insert Text Macro в конце меню Edit . Они могут также быть вызваны с помощью Смысла Кода, технологии завершения кода XCode.

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

30
ответ дан 2 revs 23 November 2019 в 00:37
поделиться

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

31
ответ дан Matt Dillard 23 November 2019 в 00:37
поделиться

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

42
ответ дан Julien Chastang 23 November 2019 в 00:37
поделиться

вЊ ˜-[и вЊ ˜-], чтобы сделать отступ и не расположить выделенный текст с отступом. Делает моющийся исходный код очень легче.

51
ответ дан Michel 23 November 2019 в 00:37
поделиться

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

Так, например:

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

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

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

52
ответ дан comctrl6 23 November 2019 в 00:37
поделиться

Станьте Полный Список Горячей клавиши XCode Colin Wheeler (доступными как PDF или PNG). Распечатайте его и сохраните его где-нибудь видимым (у меня есть он на стене рядом с моим экраном).

редактирование: Обновленные версии для Xcode 3.2

редактируют 2: Обновленные версии для Xcode 4

67
ответ дан 3 revs 23 November 2019 в 00:37
поделиться

Масштабируйте Редактора В

, Если Ваше окно отображает и деталь и представление редактора, Вы можете масштабировать редактора в [1 110] для расширения представления редактора до полной высоты окна. (Это довольно легко найдено, но многие, кажется, пропускают его.)

можно сделать это при помощи одного из следующих методов:

  • Команда вЊ ˜ Сдвиг в ‡ § Представление E

  • > Редактор Масштабирования В [1 112]

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

74
ответ дан 5 revs, 2 users 73% 23 November 2019 в 00:37
поделиться

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

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

75
ответ дан 4 revs, 4 users 38% 23 November 2019 в 00:37
поделиться

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

, можно использовать:

#pragma mark Foo

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

Для отображения разделителя (т.е. горизонтальная строка) используйте:

#pragma mark -

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

78
ответ дан 2 revs, 2 users 67% 23 November 2019 в 00:37
поделиться

Откройте Quickly...

  • Команда вЊ ˜ Сдвиг в ‡ § файл D

  • > Открывают Quickly...

я - большой поклонник функция Open Quickly , которая особенно хороша в Xcode 3.1 и позже. Когда Вы хотите открыть файл или определение символа, это находится в Вашем проекте или в платформе, просто поразило сочетание клавиш, вводит немного файл или имя символа, использует Стрелку вверх в † ‘ и Стрелка вниз в † “, чтобы выбрать к правильному результату (в случае необходимости), и затем поразить Возврат в +© , чтобы открыть файл или перейти к определению символа.

На Xcode 4:

  • Команда вЊ ˜ Сдвиг в ‡ § <час> o

Открывает, Quickly использует текущее слово в качестве критерия поиска

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

99
ответ дан 8 revs, 3 users 59% 23 November 2019 в 00:37
поделиться

Горячие клавиши автозавершения

Вкладка в ‡ Ґ ИЛИ Управление вЊѓ / : Выберите следующий аргумент автозавершения.

Сдвиг в ‡ § Вкладка в ‡ Ґ ИЛИ Сдвиг в ‡ § Управление вЊѓ / : Выберите предыдущий аргумент автозавершения.

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

127
ответ дан 5 revs, 3 users 48% 23 November 2019 в 00:37
поделиться

вЊ ˜ Команда + Double-Click on a symbol: Переход к Определению символа.

вЊҐ Опция + Double-Click on a symbol: Найдите текст в Документации символа. (Только работы, если у Вас есть они установленный Набор Документа символа.)

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

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

Для показа Панели Избранного выберите следующий пункт меню:

  • View> Layout> Show Favorites Bar
158
ответ дан 7 revs, 4 users 60% 23 November 2019 в 00:37
поделиться

Перейдите среди открытых файлов назад и вперед:
вЊҐвЊ ˜←
вЊҐвЊ ˜→

26
ответ дан 2 revs, 2 users 67% 23 November 2019 в 00:37
поделиться

средство просмотра классов в XCode! Достигнутый путем нажатия сдвиг + вЊ ˜ + c . Можно уменьшить объем, чтобы только показать активный проект. Это высказывает Вам менее нарушенное мнение, пока Вы только хотите просмотреть иерархию классов.

21
ответ дан 3 revs, 2 users 75% 23 November 2019 в 00:37
поделиться

Используйте Средство просмотра классов для показа унаследованных методов

, справочная документация API Apple не показывает методы, наследованные от суперкласса. Иногда, все же. полезно быть в состоянии видеть полный спектр функциональности, доступной для класса - включая пользовательский собственный класс. Можно использовать Средство просмотра классов (из Меню проектов) для отображения плоского или иерархического списка всех классов, связанных с текущим проектом. Верхняя область на правой стороне окна браузера показывает список методов, связанных с объектом, выбранным в браузере. Можно использовать Настраивать лист Опций для выбора "Шоу Наследованные участники" для показа унаследованных методов, а также определенных самим выбранным классом. Вы нажимаете маленький книжный символ для движения в соответствующую документацию.

13
ответ дан mmalc 23 November 2019 в 00:37
поделиться

ctrl + высокий звук + вЊ ˜ + r для очистки журнала

14
ответ дан 2 revs, 2 users 67% 23 November 2019 в 00:37
поделиться

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

43
ответ дан Mike 23 November 2019 в 00:37
поделиться

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

Это особенно полезно в сочетании с сопоставлением скобок двойным щелчком мыши по сбалансированным символам (парены, скобки, скобки).

17
ответ дан Frank Szczerba 23 November 2019 в 00:37
поделиться

Технически совет от Interface Builder, но они совпадают с книгой, поэтому я не думаю, что это не по теме ...

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

25
ответ дан 23 November 2019 в 00:37
поделиться

1. Breakpoint on "objc_exception_throw"

You should always have a breakpoint on objc_exception_throw.

2. Debugging retain/release problems with "Zombie" variables

Use the following code:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;

... to debug retain and release problems. For more information, see the "Finding Memory Leaks" section of Apple's Debugging Applications document.

3. Jumping to a class in Xcode from Interface Builder

Command ⌘ + Double-click on an object in Interface Builder's Document Window to jump to that class in Xcode. This is very handy with File's Owner.

4. Reusing customized objects in Interface Builder

Drag a customized object back to Interface Builder's Library for later reuse.

5. Select overlapping items in Interface Builder

Control ⌃ Shift ⇧ + Click on an object in Interface Builder to see a menu of all of the objects under the mouse.

6. Interface Builder Gesture Guide

Interface Builder Gesture Guide.

77
ответ дан 23 November 2019 в 00:37
поделиться

Отключить предупреждение «Отменить после последней точки»

При попытке отменить после сохранения вы получите следующий запрос:

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

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

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO

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

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

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'

Изменить» com.yourcompanyname "во всех ваших шаблонах:

  1. Найдите каталог: /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates / Application
  2. Используйте свой любимый мульти -file search-and-replace инструмент для изменения com.yourcompany на любое значение, которое вы обычно используете для создания устройства. Я использовал функцию multi-find-and-replace BBEdit после того, как открыл весь каталог. Вам следует заменить значение во всех файлах info.plist Я нашел 8 файлов, которые нужно изменить. Количество неудачных попыток сборки из-за того, что я забыл изменить эту строку, просто смешно.

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

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

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


Переключение между вариантами автозаполнения

  • Control ⌃ .

  • Shift ⇧ Control ⌃ . ]: Переход назад между вариантами автозаполнения.

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


Quick Help

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

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

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

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


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

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

Переход к полной документации.


Выбор несмежного текста

  • Команда ⌘ Control ⌃ + <Дважды щелкните в редакторе>

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


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

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

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

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

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

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

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

119
ответ дан 23 November 2019 в 00:37
поделиться

Управляйте текстовым редактором 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
36
ответ дан 23 November 2019 в 00:37
поделиться

Использование ] для автоматической вставки [ в правильное место

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

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

Метод 1: после имени функции

myObject testMethod ]

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

[myObject testMethod]

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

Метод 2: перед именем функции

myObject ]

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

[myObject ]

... с курсором, расположенным справа перед ] .

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

19
ответ дан 23 November 2019 в 00:37
поделиться

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

- ta

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

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

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

16
ответ дан 23 November 2019 в 00:37
поделиться

Для соединения новой платформы

(В области Groups и Files откройте Целевой треугольник раскрытия для отображения целей, связанных с проектом.)

  1. В области Groups и Files, дважды щелкните по своей текущей цели проекта для отображения панели Target Info.
  2. В панели Info, выберите вкладку "Общие". Более низкая область отображает связанные в настоящее время платформы.
  3. Добавляют новую платформу путем нажатия + кнопка в левой нижней части панели и выбора из списка, представленного в листе, который появляется. (Значительно, список в листе показывает только платформы, относящиеся к цели...)

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

5
ответ дан mmalc 23 November 2019 в 00:37
поделиться

Меню User Scripts имеет много положительных героев в нем, и относительно легко добавить Ваше собственное. Например, я добавил ярлык и обязал его cmd-решить - вставить делитель комментария и #pragma mark в моем коде для быстрого разбивания файла.

  #!/bin/sh
  echo -n "//================....================
  #pragma mark "

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

6
ответ дан Ben Gottlieb 23 November 2019 в 00:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: