альтернативы Xcode для разработки под iOS?
Я являюсь разработчиком Java 10+ уже несколько лет и полюбил мощь, которую современные IDE предоставляют для таких вещей, как рефакторинг, поиск мертвого кода, поиск "использования" и т.д. Я начинаю делать некоторые iPhone Dev на стороне, и совершенно разочарован отсутствием таких функций в XCode. Я не знаю "найти использование этого метода/класса", поэтому я прибегаю к "найти X в проекте", и даже в этом иногда что-то упускается (почему?!)
Я понимаю, что некоторые из этих вещей, возможно, не возможны в Objective-C из-за системы строгих типов Java и встроенных API-интерфейсов отражения. Но даже простые вещи, кажется, отсутствуют или, в лучшем случае, трудно найти. Например, нет привязки клавиш для "переформатировать этот код"; Вы должны перейти в меню "Правка", а затем перейти к 2 подменю, чтобы сделать это.
Кто-нибудь имел успех в использовании другой IDE для разработки Objective-C/iPhone? Затмение? Я большой поклонник Intellij IDEA, но, насколько я знаю, такой поддержки нет. В противном случае, указатели для установки Xcode будут высоко оценены.
Ответы
Ответ 1
У меня была такая же проблема, когда я впервые начал использовать ее. Итак, я спросил друга, который работал в Apple, является ли Xcode действительно инструментом, который используют большинство внутренних разработчиков.
Он сказал, что это так, и его явная рекомендация заключалась в том, чтобы просто укусить пулю и привыкнуть к ней. Вы могли бы найти альтернативу, но вы будете бороться с этим навсегда, а не создавать приложения для iPhone. Иногда, когда вы находитесь в Риме, вы должны поступать так, как делают римляне.
Ответ 2
1) В среде IDE есть инструменты рефакторинга. Вы можете выбрать имя класса или переменной и выбрать рефакторинг для переименования.
2) Используйте ярлыки и дополнительные функции. Вы можете быстро переключаться между заголовком и файлами реализации с помощью Cmd-Alt-Up. Alt-Double Click вызывает документацию для вызова структуры, а Cmd-Double Click переходит к определению переменной или метода.
3) Я обычно использую "найти выделенный текст в проекте", чтобы искать методы использования - я не уверен, почему это не сработает для вас всегда.
4) Если вы хотите найти интересные проблемы, там есть большой статический анализатор, который вы можете запустить над своим кодом, CLANG scan-build:
http://clang.llvm.org/StaticAnalysisUsage.html
5) Я думаю, что IB лучше, чем любой дизайнер графического интерфейса Java, который я когда-либо использовал.
XCode и IB и Instruments вместе - на самом деле очень мощные инструменты, тратят время на изучение того, что они могут сделать для вас...
Также, если вы действительно ощущаете потребность в более продвинутых функциях редактирования, нет ничего плохого в том, чтобы время от времени выходить на внешние редакторы, если они могут делать другие вещи для вас. Очень популярным является TextMate, я также время от времени использую emacs.
Ответ 3
Jetbrains на самом деле разрабатывает альтернативу XCode, поэтому, поскольку вы являетесь поклонником IntelliJ Idea, вам скоро повезет:
http://devnet.jetbrains.net/thread/291466
Ответ 4
Попробуйте JetBrains AppCode http://www.jetbrains.com/objc/
Ответ 5
У меня все еще есть проблемы с адаптацией к XCode, но он становится лучше, чем я его использую. Я использую vim для всего остального, кроме Cocoa программирования.
Одна вещь, которую я нашел полезной, - это добавить список ярлыков Xcode рядом с моим монитором.
Для пунктов меню, которые пропускают сочетания клавиш, такие как "Reformat this code", используйте эти инструкции, чтобы определить свои собственные ярлыки.
Ответ 6
трюки и советы для XCode имеют некоторые настоящие драгоценности - я рекомендую вам прочитать его, если вы еще этого не сделали.
Ответ 7
Чтобы действительно любить XCode, мне пришлось внести следующие изменения:
- Переключитесь на макет All-in-one: это действительно помогло избежать оргтехники окна, которая продолжалась.
- Переключить отображение отладчика в вертикальную компоновку: это сделало отладку более приятной.
- Установил uncrustify и создал пользовательские скрипты для uncrustify моих файлов (привязанных к команде-1): это упростило редактирование кода других людей, мне нравится пробел и {на новой строке, большинство Objective-C кода не выглядит так путь.
Просто эти три изменения значительно улучшат ваш опыт XCode. Чем больше я его использую, тем больше мне это нравится. Им по-прежнему необходимо улучшить функциональность поиска/замены и повысить скорость добавления/удаления точек останова, но в остальном я очень доволен им.
Ответ 8
Я предпочитаю vim как один интерфейс для нескольких языков/платформ. Для любителей vim я помещаю это в свой файл ~/.vimrc:
"xcode make program
let prg="xcodebuild"
let makepath=$MAKEPATH
let &makeprg="cd ".$BASE.";".prg.' '.makepath
"/Users/user/Project/Classes/stuff.m:46: error: 'somecrap' was not declared in this scope
set errorformat=%f:%l:\ error:%m
Затем, когда я хочу код vim с Visual С++ в окне окна:
"Visual C++ 2008 make program
let prg="devenv"
let makepath=$MAKEPATH
"makeprg= cmd /c "devenv /some/path/to/some.sln"
let &makeprg='cmd /c "'.prg.' '.makepath.'"'
"2>c:\cygwin\home\user\proj/blah.cpp(1657) : error C2065: 'blah' : undeclared identifier
set errorformat=%.%#>\ %#%f(%l)\ :\ %#%t%[A-z]%#\ %[A-Z\ ]%#%n:\ %m
Есть несколько причудливых способов установить makeprg в зависимости от того, какой тип файла вы редактируете, но я еще этого не сделал. В любом случае, настройка makeprg и errorformats в комбинации с : cw должна сделать любого поклонника vim счастливым. Я все еще должен отлаживать в соответствующей среде IDE, но я могу кодировать и компилировать очень быстро с помощью vim.
Ответ 9
Имеется утилита командной строки под названием xcodebuild
. Вы можете настроить проект в Xcode, чтобы Xcode генерировал все необходимые файлы и все остальное, но вы можете использовать любой внешний редактор, который вам нравится. Все, что вам нужно сделать, - запустить xcodebuild
в том же каталоге, что и сам проект Xcode, и он его построит. Вы даже можете выбрать, какую цель и какую конфигурацию сборки вы хотите использовать из командной строки.
Это немного глупая идея, так как вам придется иметь дело с несколькими IDE, но я делал это иногда, потому что иногда мне легче разрабатывать в командной строке.
Ответ 10
Проект ObjectivEClipse - это новая попытка добавить поддержку ObjectiveC к Eclipse CDT. Его еще очень молодой, но если кто-то здесь хочет участвовать в разработке с открытым исходным кодом, пожалуйста, посмотрите.
Ответ 11
Я действительно не собираюсь пытаться умалить ваш вопрос, но VIM, make и gcc отлично работают для меня на всех языках и платформах. Это один набор инструментов, который (для меня) является самым портативным и надежным. Это не очень мило, как вам может понравиться, но он выполняет работу так же эффективно.
Ответ 12
Хотя это не настоящая среда IDE, если расширенное редактирование текста - это то, что вам нужно, TextMate является чрезвычайно мощным. Он обрабатывает самые разные языки и имеет созданные пользователем расширения (пачки), которые добавляют много интересной функциональности. Он особенно хорош в отношении видов операций переформатирования, которые вы описываете. Я использую его для всех видов редактирования текста.
Тем не менее, я занимаюсь разработкой Mac/iPhone в Xcode. Я пробовал другие инструменты, такие как TextMate, но я продолжаю возвращаться к этой среде IDE. Почти все опытные разработчики Mac, с которыми я встречался, используют Xcode, и большинство из них довольны своей функциональностью и макетом. Возможно, вам нужно приспособиться к дизайну этой среды разработки, в отличие от Eclipse или Visual Studio. Честно говоря, меня не впечатлили те IDE (или KDevelop, где я работал над Linux), и обнаружил, что Xcode хорошо подходит мне.
Как уже было сказано, Xcode 3.0 и 3.1 внесли некоторые существенные улучшения в среду IDE.
Ответ 13
Я разработчик Java, и, как и все классные функции, создаваемые плагином Eclipse Java, так как альтернатива вытягиванию ObjectiveC из XCode, вы можете попытаться придерживаться Java и использовать iSpectrum (http://www.flexycore.com).
С помощью этого плагина-компилятора + Eclipse вы продолжаете развиваться на Java, в хорошо известной среде, где можно создавать собственные приложения для iPhone!
Ответ 14
Например, для переформатирования этого кода нет привязки клавиш - Caffeine Coma (OP)
Частичное решение: используйте control-I в одной строке или в пределах выбранной области, чтобы отложить ее.
Ответ 15
Некоторые ярлыки, которые я считаю полезными:
-
команда + shift + d перейти к определению функции/переменных/типов и т.д. (щелкните по середине или дважды щелкните, чтобы выделить то, что вы ищете, а затем выполните cmd + shift + d)
-
alt + двойной щелчок: удерживайте нажатой клавишу alt, а двойной щелчок вызывает быструю справку, а также кнопку, чтобы перейти к документации
-
удерживайте alt и щелкните файл, чтобы открыть его в соседнем бок о бок (xcode 4)
это мои самые используемые. Дополнительные ярлыки здесь:
http://cocoasamurai.blogspot.com/2008/02/complete-xcode-keyboard-shortcut-list.html