Заряжаем Xcode



    Этот пост является вольным переводом статьи Xcode, Supercharged.

    Для нас, как инженеров, очень важно привыкнуть к инструментам, которые мы используем в работе каждый день, но никогда не стоит останавливаться на их изучении. Всегда найдутся скрытые возможности, которые помогают нам работать быстрее и концентрироваться на цели, а не на средствах ее достижения. Я покажу некоторые «фишки», которые обнаружил за время своей работы в среде разработки Xcode. Надеюсь, они и вам пригодятся.

    1. Ctrl + цифры

    В Xcode есть быстрая навигация по всему проекту: от корневого каталога до файлов и методов в них. Просто нажмите Ctrl + цифры от 1 до 6 и сами увидите. В появляющихся окнах также работает поиск.



    2. «Фишки» брэйкпоинтов

    Брэйкпоинты — прекрасны. Их тоже можно «зарядить». Вы знали, что можете выполнять LLVM-комманды и даже воспроизводить алерты при срабатывании брэйкпоинта? Причем вы можете комбинировать это с беспрерывным выполнением (когда вам нужно понять, что метод вызывается, но не нужно останавливать приложение).



    3. Нечеткий поиск где угодно

    Не можете вспомнить где видели что-то в коде? В Xcode есть нечеткий поиск по всему проекту — Cmd+Shift+O. Ключевой момент именно в нечеткости: если результатов поиска слишком много — просто продолжайте печатать пока не найдете то что ищете.





    4. Редактирование в области видимости (in Scope)

    Поставьте курсор на имя метода или переменной и нажмите Cmd+Ctrl+E. Обратите внимание как выделено каждое упоминание этого слова. Достаточно изменить это имя один раз и Xcode изменит его везде в классе, в котором оно используется. Этим очень удобно пользоваться, когда вам нужно быстро переименовать какую-то переменную или метод. Также это работает для локальных переменных в их областях видимости. Это особенно удобно, когда вы дали название свойству/методу, а потом передумали.



    5. camelCase выделение

    Эта «фишка» отлично работает в сочетании с предыдущей. В Xcode можно быстро выделять camelCase-текст с помощью Ctrl+Shift+стрелка вправо/влево. Вы просто быстро выделяете слова в названии переменной. Это очень удобно. Обратите внимание, что это может конфликтовать с настройками системы, особенно с переключением между рабочими областями в OS X.



    6. Простое переключение между кодом и навигатором

    Хотите быстро переключиться из редактора в навигатор файлов? Cmd+Shift+J и вы уже там. Хотите обратно в редактор? И чтоб не тянуться к мышке или трекпаду? Пожалуйста: Cmd+J. Бонусом к этому идет быстрый поиск файлов в навигаторе. Просто нажмите Cmd+Option(Alt)+J.

    7. Брэйкпоинты на переменных

    Поставьте брэйкпоинт на строку с объявлением переменной и Xcode будет там останавливаться каждый раз когда значение переменной изменяется (на самом деле, в данном примере брэйкпоинт срабатывает, потому что в этой же строке описан метод didSet(...) {...}).



    8. Быстро перейти к определению

    Вы ведь нажимали Cmd и кликали мышкой по названию переменной или метода, чтоб разобраться что это такое? Поставьте курсор в текст и нажмите Cmd+Ctrl+J. Это также работает и для ваших собственных определений.

    9. Различия с последнего коммита

    Кому нужны сторонние git-инструменты, если можно посмотреть различия прям внутри Xcode? Cmd+Shift+Alt+Enter(Return).



    10. Быстрая работа с брэйкпоинтами

    Нажмите Cmd+\ чтоб поставить или убрать брэйкпоинт в строке в которой находится курсор. Также можете использовать Cmd+Y чтоб включать-выключать брэйкпоинты во всем проекте.

    Эти комбинации клавиш стали частью моей повседневной работы и помогли ускорить написание кода и внесения изменений. Если же какая-то из этих комбинаций конфликтует с другой настройкой, которую вы сделали раньше, вы всегда можете их изменить. Просто нажмите Cmd+,(запятая) и зайдите в «Key Bindings». Удачного вам фаст-программинга!
    Share post

    Comments 22

      +1

      Кроме Ctrl+1..6 ещё есть:


      Cmd+1..8 для переключения навигаторов
      Cmd+Alt+0 для показа/скрытия инспектора
      Cmd+Enter для показа/скрытия утилит
      Cmd+Alt+Enter для показа ассистента
      Cmd+Enter — скрыть ассистента
      Cmd+Shift+Y — убрать/показать консоль.


      В IB ещё дофига полезных комбинаций.

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

        Статьи в духе «10 прикольных фич %thing_name%» или «Список хоткеев %another_thing_name%» не нужны.
          –2
          Пусть сначала нормальную клавиатуру сделают. С кнопочкой NumLock, чтобы Karabiner не ставить.
          И редактор, у которого есть кнопочка «Пойти в конец строки».
            +4
            Пойти в конец строки — это Cmd+right. Или left, если нужно в начало
              –1
              Ишь ты…
              А в Preference почему-то не написано…
                +3
                Это работает в большинстве мест в MacOS, где можно редактировать текст.
                Еще полезные комбинации:
                Cmd+delete удаляет до конца строки,
                Opt+left/right перемещает курсор по слову,
                Opt+delete удаляет по слову.
              +3

              А что не так с "эппловской" проводной клавиатурой? Там и "Home", и "End". И даже "PgUp" с "PgDn". :)

                –2
                Например, замечательная кнопка fn на месте Insert. Невыключаемая цифровая клавиатура. '~' хрен знает где.

                Переключение Rus/Lat через Ctrl+Space. Отличный глобальный shortcut Ctrl+Left.
                  +3
                  '~' хрен знает где.

                  Как раз там, где ей удобно пользоваться. Ибо Cmd+~ переключает окна в пределах приложения и тянуться никуда не надо — они рядом.


                  И кстати, Fn тоже на месте — чаще всего она используется вместе с клавишами громкости, а они тоже там совсем рядом. А F1-F19 в настройках включены без необходимости нажимать Fn.

                    –1
                    Ну, очевидно-же — запустил XCode и давай клавиши громкости нажимать целый рабочий день.
                      +2

                      В Xcode и системе у меня назначены некоторые вещи на клавиши F1-F12, а они и без Fn работают. Клавиша Ins на маке мне пока ни разу не была нужна. Fn используется только для громкости и яркости экрана. В чём проблема? Вы так страдаете без Ins? Конечно, многие привыкли ещё на винде копипаст делать с её помощью, но ведь Cmd+V ближе и удобнее.

            +4
            Cmd+Alt+C посмотреть различия с поледним коммитом по всем измененным файлам.
              +1
              Ожидал увидеть набор плагинов, которые облегчают работу в Xcode. Оказалось, что здесь просто набор горячих клавиш.
              Понимаю, что статья — это просто перевод, поэтому к опубликовавшему пост никаких претензий.
                +1
                Согласен с вами. Не всегда реальность соответствует нашим ожиданиям. :)
                  0
                  Плагины умерли — спасибо эплу и новому икскоду.
                  0
                  До сих пор плачу после переезда на XCode с Intellij Idea, но мне уже лучше, намного лучше! XCode никогда не будет содержать и 50% возможностей Idea, к большому сожалению. У меня есть мечта — Apple покупает JetBrains и все встает на свои места.

                  P.S. Особо люто вымораживает когда выделение по словам через Option пропускает скобки и прочие небуквенные символы. Вместо выделения до конца строки выделяется следующая линия (или более, если есть пустые). Есть ли возможность это исправить?

                  P.P.S. Сейчас будете советовать AppCode :)
                  • UFO just landed and posted this here
                      0
                      Я, например, практически не использую IB. Держусь от него подальше.
                      0
                      Особо люто вымораживает когда выделение по словам через Option пропускает скобки и прочие небуквенные символы

                      shift + alt + стрелки — выделяет нормально, останавливается на скобках, запятых, двоеточиях и т.д.

                      Вместо выделения до конца строки выделяется следующая линия (или более, если есть пустые). Есть ли возможность это исправить?

                      shift + cmd + стрелка вправо — выделить до конца строки
                        0
                        Это все понятно. Но «shift + alt + стрелки» ведет себя очень странно. Например в Idea с «alt» выделяется по таким скобкам ")))", а в Xcode — нет, выделение переносится до слова на следующей(!) строке. Попробуйте.
                          0
                          Да, теперь понятно. Есть такое, если это конец строки, просто никогда не сталкивался на практике, так как выделяю до конца строки привычным «shift + cmd + стрелка вправо», а когда по словам перемещаюсь, никогда не было ситуации, чтобы нужно было не к параметрам перейти, а к концу скобок (стираются ненужные переднии скобки через fn + ←)

                            0
                            Всегда выделение до конца строки Shift+End. Очень удобно на нумпаде:
                            1. все кнопки под рукой: Home, End, PgUp, PgDown, Стрелки.
                            2. легко попадать не глядя.
                            В силу того, что цифры набираются на 100 порядков реже, чем текст (ну, если не бухгалтер, конечно) считаю, что сохранение цифрового нумпада это неправильно. Пару раз в день цифры можно и в верхнем ряду набрать.

                            Karabiner спасает.

                    Only users with full accounts can post comments. Log in, please.