Вопрос

Я полный новичок в Xcode/Objective-C/Cocoa, но я быстро учусь и мне действительно начинает нравиться осваивать новый язык, платформу и парадигму.

Однако есть одна вещь: поскольку я так долго использовал Visual Studio с R#, я был как бы избалован такими инструментами кодирования, как рефакторинг, завершение и т. д., и, насколько я могу судить, Xcode имеет довольно ограниченную встроенную поддержку для этого. вещи.

В этой связи, знает ли кто-нибудь, доступны ли какие-либо надстройки или что-то еще для среды Xcode, которые добавляют помощники по кодированию, такие как автоматическое создание скелетов реализации из определения интерфейса класса и т. д.?

Подозреваю, что нет, но полагаю, что спросить не поможет.

Это было полезно?

Решение

Вы говорите так, будто ищете три основные вещи:шаблоны кода, инструменты рефакторинга и автодополнение.

Хорошей новостью является то, что Xcode 3 и более поздние версии имеют превосходное автозаполнение и поддержку шаблонов.По умолчанию вам необходимо явно запросить завершение, нажав клавишу Escape.(Это действительно работает во всех NSTextViewс;попробуйте!) Если вы хотите, чтобы завершения появлялись автоматически, вы можете перейти к Предпочтения -> Код Смысл и настройте автоматическое появление всплывающего окна через несколько секунд.Вы должны найти хорошие дополнения для кода C и Objective-C, а также довольно хорошие дополнения для C++.

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

  1. Назад в Предпочтения,идти к Ключевые привязки, а затем под Привязки клавиш меню, назначьте определенный ярлык для часто используемых макросов.Лично я не утруждаюсь этим, но знаю множество замечательных разработчиков Mac, которые это делают.
  2. Использовать CompletionPrefix.По умолчанию почти все шаблоны имеют специальный префикс, который, если вы наберете его, а затем нажмете клавишу Escape, приведет к вставке шаблона.Вы можете использовать Control-/ для перемещения между полями завершения.

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

    Вы также можете добавить свои собственные макросы или изменить значения по умолчанию.Для этого отредактируйте файл /Developer/Library/Xcode/Specifications/{C,HTML}.xctxtmacro.Синтаксис должен быть понятным, если не сказать очень дружелюбным.

К сожалению, если вы увлекаетесь R#, вы будете разочарованы возможностями рефакторинга.Базовый рефакторинг осуществляется в Xcode через контекстное меню или нажатием Shift-Apple-J.Отсюда вы можете извлекать и переименовывать методы, повышать и понижать их уровень в иерархии классов, а также выполнять несколько других распространенных операций.К сожалению, ни Xcode, ни какие-либо сторонние утилиты не предлагают ничего похожего на Resharper, так что в этом плане вам пока не повезло.К счастью, Apple уже продемонстрировала в разработке версии Xcode, которые значительно улучшили возможности рефакторинга, так что, надеюсь, вам не придется слишком долго ждать, прежде чем ситуация начнет улучшаться.

Другие советы

Я рад сообщить, что компания JetBrains решила создать достойную среду разработки для программистов Objective-C.

Это называется Код приложения и он основан на других их инструментах, таких как RubyMine и Resharper.Это не родной Cocoa, но он обладает огромными возможностями рефакторинга.

http://www.jetbrains.com/objc/index.html

Я начал использовать его для своего основного проекта Objective C и уже влюбился.Он все еще находится в зачаточном состоянии, но при редактировании и рефакторинге кода он уже превосходит Xcode.

Обновлять

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

В Xcode встроен рефакторинг для C и Objective-C.Просто выберите то, что вы хотите рефакторить, выберите «Рефакторинг...» в строке меню или контекстном меню, и вы получите окно, содержащее доступные рефакторинги и область предварительного просмотра.

Xcode в настоящее время не имеет общедоступного API подключаемого модуля;Если есть определенные типы плагинов, которые вы хотите, чтобы Apple включила, запросы на улучшение файлов в Сообщитель об ошибках.Таким образом, Apple сможет рассчитывать и отслеживать такие запросы.

Однако существуют сторонние инструменты, такие как Аксессуары и mogenerator (последний выпуск mogenerator 1.10), который можно использовать для ускорения выполнения различных задач разработки.Accessorizer помогает вам создавать методы доступа для ваших классов, в то время как mogenerator выполняет более сложную генерацию кода для классов управляемых объектов Core Data, которые моделируются с использованием инструментов моделирования Xcode.

Просто чтобы люди знали, Аксессуары делает больше, чем просто генерирует аксессоры (как 1.0, так и свойства для 2.0), он также генерирует код Core Data для сохранения нестандартных атрибутов, ваши аксессоры NSSet для пользовательских отношений ко-многим.

Фактически, Аксессуары поможет предоставить вам инициализацию, путь к ключу, архивирование ключей, индексированные средства доступа, средства доступа для неупорядоченных коллекций, таких как NSSet, copyWithZone, KVO, проверку ключа, одноэлементные переопределения, Dealloc, setNilForKey, сохранение нестандартных атрибутов (основные данные), блокировка, headerdoc, метод преобразования в селектор, методы NSUndoManager и многое другое.

Я нашел несколько файлов xtmacro в пакете Xcode.app:/Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources

Установлен Xcode версии.3.2.5.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top