С огромным наплывом новичков в Xcode, я уверен, есть много советов и приемов Xcode, которыми можно поделиться.
Какие у тебя?
С огромным наплывом новичков в Xcode, я уверен, есть много советов и приемов Xcode, которыми можно поделиться.
Какие у тебя?
Ответы:
Option ⌥ Command ⌘ Up Arrow ↑
Вид > Переключиться на заголовок / исходный файл
Переключение между .m
и .h
файлами.
- В Xcode 4 это ctrl Command ⌘ Up Arrow ↑
⌘ Command+ Double-Click on a symbol
: Перейти к определению символа.
⌥ Option+ Double-Click on a symbol
: Найти текст в документации символа. (Работает только в том случае, если у вас установлен набор документов для этого символа.)
Панель избранного точно такая же, как у вас в Safari для хранения - ну - любимых. Я часто использую его как место для хранения ярлыков (что вы можете сделать с помощью перетаскивания) для файлов, которые я использую сейчас. Обычно это более полезно, когда я работаю с большим или незнакомым проектом.
Чтобы показать панель избранного, выберите следующий пункт меню:
View
> Layout
>Show Favorites Bar
Tab ⇥ИЛИ Control ⌃ /: выберите следующий аргумент автозаполнения.
Shift ⇧ Tab ⇥ИЛИ 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 файлов для изменения. Количество неудачных попыток сборки, потому что я забыл изменить эту строку, просто смешно.
- 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 ⌥ + <Дважды щелкните символ>
Справка> Быстрая помощь
Чтобы перейти к документации из окна быстрой справки, щелкните значок книги в правом верхнем углу.
- Command ⌘ Option ⌥ + <Дважды щелкните символ>
Перенесет вас прямо к полной документации.
- Command ⌘ Control ⌃ + <Двойной щелчок в редакторе>
Используйте вышеуказанный ярлык для странного способа выбора нескольких слов. Вы можете сделать выбор слов в совершенно разных местах, а затем удалить или скопировать их все сразу. Не уверен, что это полезно. Это Xcode только, насколько я могу судить.
Этот прием работает во всех приложениях 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 ⌥клавиши со стрелками влево и вправо для перемещения по одному слову за раз.
Попробуйте это с NSMutableArray
. Вы можете быстро изменить его NSArray
, установив курсор после NS
, нажав Shift ⇧ Control ^ Right Arrowзатем Delete.
Command ⌘ Shift ⇧ D
Файл > Открыть быстро ...
Я большой поклонник функции Open Quickly , которая особенно хороша в Xcode 3.1 и более поздних версиях. Если вы хотите открыть файл или определение символа, которое находится в вашем проекте или в структуре, просто нажмите комбинацию клавиш, введите немного имени файла или символа, используйте Up Arrow ↑и, Down Arrow ↓чтобы выбрать правильный результат (если необходимо), а затем нажмите, Return ↩чтобы открыть файл или перейти к определению символа.
На Xcode 4:
- Command ⌘ Shift ⇧ o
Кроме того, кое-что, что я не знал о XCode до двух минут назад (когда schwa указал на это в комментарии), это то, что если текстовая вставка редактора находится внутри слова, когда вызывается Open Quickly , это слово будет использоваться как Открыть Быстрый поиск.
Ты можешь использовать:
#pragma mark Foo
... как способ организации методов в ваших исходных файлах. При просмотре символов через всплывающее меню все, что вы помещаете, Foo
будет выделено жирным шрифтом в списке.
Чтобы отобразить разделитель (т.е. горизонтальную линию), используйте:
#pragma mark -
Это очень полезно, особенно для группировки методов делегатов или других групп методов.
# TODO
заявления. Теперь, если только это будет также захватить # XXX
, который обычно используется в базе кода, над которой я работаю ...
У вас всегда должна быть точка остановаobjc_exception_throw
.
Используйте следующий код:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... отладить, сохранить и освободить проблемы. Дополнительные сведения см. В разделе «Поиск утечек памяти» в документе «Приложения отладки Apple» .
Command ⌘+ Double-click
на объекте в Окне Документа Интерфейсного Разработчика, чтобы перейти к этому классу в XCode. Это очень удобно с владельцем файла .
Перетащите настроенный объект обратно в библиотеку Interface Builder для последующего повторного использования.
Control ⌃ Shift ⇧+ Click
на объекте в Интерфейсном Разработчике, чтобы увидеть меню всех объектов под мышью.
Ctrl+ 2: Доступ к всплывающему списку методов и символов в текущем файле.
Это очень полезно, потому что с помощью этого ярлыка вы можете перемещаться по файлу полностью с помощью клавиатуры. Когда вы попадете в список, начните вводить символы, и в списке выберите нужный символ.
Если ваше окно отображает как детализацию, так и представление редактора, вы можете увеличить масштаб редактора, чтобы расширить представление редактора до полной высоты окна. (Это довольно легко найти, но многие, кажется, упускают это из виду.)
Вы можете сделать это одним из следующих способов:
Command ⌘ 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 показывают маркер для этих тегов задач на полосе прокрутки, что лучше, но это также работает.
# XXX
, и она этого не видит.
⌘- [и ⌘-] для отступа и отступа выделенного текста. Делает очистку исходного кода намного проще.
Дважды щелкните квадратные скобки или скобки, чтобы получить совпадение скобок и скобок.
Управляйте текстовым редактором 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
xed was introduced in Mac OS X 10.5 with Xcode 3.0.
«Ctrl + Стрелка влево / вправо» для перемещения по тексту внутри слова. Я использую эту функцию, чтобы перемещать курсор от одного «верблюжьего горба» в переменной к следующему.
Xcode поддерживает текстовые макросы, которые можно вызвать через меню « Вставить текстовый макрос» в конце меню « Правка» . Они также могут быть вызваны с использованием Code Sense, технологии завершения кода Xcode.
Например, ввод последовательности клавиш p i m control-period
будет вставлен #import "file"
в ваш код file
как редактируемый токен, как и при завершении кода.
Щелкните правой кнопкой мыши переменную в вашей функции и выберите «Редактировать все в области видимости». Я использовал это много, так как я узнал об этом.
ctrl ⌘ T
Xcode может запустить препроцессор над файлом Info.plist:
<Ключ> CFBundleShortVersionString </ ключ> #ifdef DEBUG <string> 1.0 (debug) </ string> #else <Строка> 1.0 </ строка> #endif
См. Http://developer.apple.com/technotes/tn2007/tn2175.html для получения подробной информации.
Отладка - как использовать GDB
Будучи новичком в этом, я нахожу отлов и выявление неисправностей довольно сложной задачей. Консоль, несмотря на то, что она является мощным инструментом, обычно не дает очень интуитивных результатов, и знание того, на что вы смотрите в отладчике, может быть одинаково трудным для понимания. С помощью некоторых из них, ребят из Stack Overflow, и хорошей статьи об отладке, которую можно найти в Cocoa With Love, она становится немного более дружелюбной.
Перемещайтесь между открытыми файлами назад и вперед:
⌥⌘ ←
⌥⌘ →
Технически это совет для Interface Builder, но это пара, подобранная по книге, так что я не думаю, что это не по теме ...
Shift + правый клик на одном из ваших элементов управления, и вы получите хороший список выбора иерархии объектов. Нет больше нажмите, нажмите, нажмите, разочарование!
С трекпадом:
Протестировано с Xcode 3.2.5.
Браузер классов в Xcode! Достигается нажатием shift+ ⌘+c . Вы можете уменьшить область, чтобы показать только ваш активный проект. Это дает вам менее загроможденное представление, пока вы только хотите просмотреть иерархию классов.
[
в правильном местеЯ пришел из .NET фона, поэтому я привык набирать символ, а затем вводить одно из имен его методов. Поэтому я всегда забываю включать [
перед тем, как начать вводить имя объекта. Обычно это означало, что мне нужно было бы перейти к началу строки и добавить [
вручную. Я не понимал, что могу просто нажать ]на текущую позицию курсора, и она будет добавлена автоматически.
Есть способы использовать это: либо после ввода имени функции, либо непосредственно перед вводом имени функции.
myObject testMethod
]
... становится:
[myObject testMethod]
... с кареткой, расположенной после ]
.
myObject
]
... становится:
[myObject ]
... с кареткой , расположенной прямо перед]
тем .
Преимущество последнего (2) состоит в том, что завершение кода будет фильтровать методы вашего объекта. В то время как с первым (1), если вы попытаетесь вызвать завершение кода сразу после myObject
, он не будет отфильтрован. Другое преимущество (2) заключается в том, что он ведет себя больше как другие языки программирования, использующие точечную запись. Вы набираете имя объекта , то просто ]вместо .получить доступ к методу.
Выберите блок текста и введите cmd- /, чтобы закомментировать его. Сделайте это снова, чтобы удалить комментарии персонажей.
Это особенно полезно в сочетании с сопоставлением скобок путем двойного щелчка на сбалансированных символах (скобки, скобки).
Возможность быстро увидеть все методы, которые можно переопределить в суперклассе. Например, при расширении UITableViewController я просто набираю свою реализацию:
- ta
а затем я нажимаю ESC, чтобы увидеть все методы из моего суперкласса, начинающиеся с "та", такие как
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Это также работает при принятии протоколов.
Command ⌘ alt ⌥ shift T : показать текущий отредактированный файл в дереве проекта.
ctrl+ alt+ ⌘+ rочистить журнал
Справочная документация по API Apple не показывает методы, унаследованные от суперкласса. Хотя иногда. Полезно иметь возможность видеть весь спектр функциональных возможностей, доступных для класса, включая собственный собственный класс. Вы можете использовать Class Browser (из меню Project), чтобы отобразить плоский или иерархический список всех классов, связанных с текущим проектом. В верхней панели в правой части окна браузера отображается список методов, связанных с объектом, выбранным в браузере. Вы можете использовать лист Настроить параметры, чтобы выбрать «Показать наследуемые члены», чтобы показать унаследованные методы, а также методы, определенные самим выбранным классом. Вы нажимаете на маленький символ книги, чтобы перейти к соответствующей документации.