company_banner

AppCode 3.1 и Swift: быстрое исполнение ваших блестящих идей

    Привет, Хабр!

    У нас для вас отличные новости — в новой версии нашей IDE для разработчиков под iOS/OS X — AppCode 3.1 — появилась долгожданная поддержка языка Swift, и даже Rename refactoring для кода на этом языке.



    Swift


    Этим летом мы все с восторгом и надеждами встретили новость о выпуске нового языка программирования. А нам язык еще и показался очень знакомым (http://kotlinlang.org). К нашей большой радости специально для поддержки языка Swift к команде присоединился Максим Медведев (интервью с ним мы не так давно публиковали в нашем блоге), имеющий большой опыт поддержки языка Groovy, в котором довольно много общих идей с языком Swift. И уже летом нам удалось выпустить первое обновление AppCode, которое поддерживало создание Swift-файлов и подсветку кода в них. Теперь же мы готовы порадовать вас «умными» возможностями, к которым вы так привыкли в IDE от JetBrains.

    Независимо от того, создали ли вы целиком Swift-проект или всего лишь открыли Swift-файл в проекте на Objective-C, AppCode 3.1 поможет вам быть эффективнее с помощью:

    • Автоформатирования кода для языка Swift
      Все мы предпочитаем различные стили написания кода и его форматирования. Настройте стиль, удобный именно вам, в Preferences | Editor | Code Style. Пробелы, переводы строк, сдвиги — все это и многие другое можно менять для каждого поддерживаемого языка программирования независимо, а встроенное превью сразу покажет ваши изменения:

      Код форматируется автоматически при написании, но можно вызвать функцию и вручную с помощью Reformat Code option (Alt+Cmd+L).
    • Подсветки синтаксиса и редактора цветовых схем для языка Swift
      Правильно подсвеченный код всегда удобнее читать и поддерживать. Поэтому мы всегда уделяем особое внимание подсветке кода. AppCode позволяет как использовать предустановленные цветовые схемы (взятые из AppCode или заимпортированные из Xcode), так и создавать свои собственные. Цветовые схемы, как и настройки форматирования, можно изменять для каждого языка программирования отдельно:

    • Автодополнения для имен типов, методов и переменных
      AppCode 3.1 поможет писать код на языке Swift быстрее с помощью функции авто-дополнения. Она работает для имен типов, классов, переменных и методов (к сожалению, в некоторых случаях есть существенные ограничения, но мы планируем исправить их в последующих 3.1.x-апдейтах).
    • Большого выбора функций навигации
      Навигация по коду не менее важна, чем возможности быстрого написания кода. AppCode включает в себя множество функций навигации, а версия 3.1 открывает Вам доступ к этим возможностям и в коде на Swift. С помощью меню или уже знакомых сочетаний клавиш можно:
      • перейти к классу по его имени
      • перейти к файлу по его имени
      • перейти к символу по его имени
      • перейти на объявление/определение метода
      • использовать для навигации структуру файла:


    • Подсветки всех использований символа в пределах текущего файла или поиска всех использований текущего символа в проекте
      Поставьте курсор на интересующий вас символ, и AppCode подсветит все его использования в текущем файле. Если же вы хотите найти все использования символа во всем проекте, то Find Usages (Alt+F7) соберет их для вас в отдельном окне, где потом можно будет перегруппировать использования в более удобном виде (например, по директориям, где расположены соответствующие файлы).

    • Рефакторинга Rename для безопасного переименования символа в проекте
      Если нужно изменить имя переменной, константы, функции, типа или класса в вашем коде на Swift, воспользуйтесь рефакторингом Rename. В этом случае вы можете быть уверены, что все использования данного символа также будут переименованы:

    • Поддержки юнит-тестирования на языке Swift
      Для любого разработчика тесты не менее важны, чем сам код. Поэтому в версии 3.1 появилась поддержка юнит-тестирования на Swift. Тесты, написанные с использованием фреймворка XCTest, можно запускать по одному или все вместе, изучать статистику по прошедшим и упавшим тестам, перезапускать все упавшие тесты и навигироваться на исходный код теста из специального окна с информацией о запуске:



    В AppCode 3.1 мы поддержали резолв классов Swift в коде на Objective-C, что гарантирует работу функций навигации, поиска использований (find usages) и других возможностей для Swift-символов, используемых в Objective-C. В последующих обновлениях мы планируем поддержать и обратный резолв — символов Objective-C в коде на Swift.

    Конечно, у нас еще множество задач и планов по поддержке языка Swift в AppCode. Целое дерево задач можно увидеть в нашем трекере. Мы планируем дорабатывать уже готовые возможности и добавлять новые в последующих апдейтах 3.1.x.

    И не только


    Помимо поддержки Swift мы добавили в версию 3.1 еще несколько «вкусных» и полезных возможностей:
    • Inline Variable View
      Чтобы процесс отладки был более эффективен, AppCode 3.1 помогает увидеть текущие значения переменных прямо в окне редактора во время отладки, напротив их объявления. Опция включена по умолчанию, отключить можно в окне отладки Settings menu | Show Values in Editor.

    • Символические брейкпоинты
      Возможность поставить точку остановки на символ может оказаться очень полезной, если, например, хочется остановить процесс отладки на символе из iOS-фреймворка. Чтобы облегчить процесс установки, AppCode позволяет использовать автодополнение при указании имени символа:

    • Умная клавиша backspace, которая удаляет символы с учетом используемого в проекте стиля и настроек форматирования.
    • Улучшения поддержки систем контроля версий, и многое другое.


    Загрузить 30-дневную бесплатную версию AppCode 3.1 можно с нашего сайта. Обновление до версии 3.1 бесплатно для всех, у кого есть действующая лицензия. Мы будем рады ответить на ваши вопросы в комментариях. Замечания и предложения по новой версии мы ждем и в нашем баг-трекере.
    JetBrains
    Делаем эффективные инструменты для разработчиков

    Similar posts

    Comments 9

    • UFO just landed and posted this here
        0
        Рефакторинга Rename для безопасного переименования символа в проекте

        Молодцы. Как же этого не хватает в Xсode, просто расстраивает.

        Над Refactor -> Extract не планируете работать?
          +1
          Как раз таки про него сейчас думаем. Но надо сначала закончить все по авто дополнению и резолву.
          0
          А почему про сим ничего не написали? Или оно только для разработки под мак?
            +1
            Только Мак, Xcode должен быть установлен.
            +3
            Будет ли Code -> Generate?
              +1
              Такая фича обязательно появится и для Swift. Только пока не могу сказать, когда по срокам.
              0
              Что насчет небольших настроек для кодогенерации? нечто вроде мозможности смены порядка atomicty—>pointer type на обратный для проперти? :)
                0
                Некоторые шаблоны есть в Preferences | Editor | File and Code templates. Если там чего-то не хватает — можно писать в трекер, что еще хочется иметь возможность настраивать — посмотрим, добавим.

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