Cursor: код-редактор, который ускоряет разработку и упрощает жизнь iOS-разработчика

Cursor: код-редактор, который ускоряет разработку и упрощает жизнь iOS-разработчика


Меня зовут Рауан, я iOS-разработчик с опытом 3 года. Работаю в AO «‎Bereke Bank»‎, где разрабатываю мобильное приложение для бизнеса, создавая удобные и надежные решения для пользователей.

Увлекаюсь новыми технологиями, следую за трендами в iOS-разработке и постоянно прокачивая свои навыки. Буду делиться своим опытом и расскажу о том, как интеграция ИИ — в частности, его реализация в Cursor — помогла мне значительно ускорить рабочий процесс и повысить общую продуктивность.

Эта статья будет полезна разным категориям специалистов:

  • Разработчикам (особенно iOS, но не только) — если вы хотите ускорить работу, упростить автодополнение, анализ кода и генерацию.
  • Техническим лидам и CTO — если вас интересует повышение продуктивности команды и снижение времени на код-ревью.
  • QA-инженерам — если вы ищете инструмент, который поможет с анализом кода, написанием автотестов или генерацией тест-кейсов.
  • Тем, кто обучается программированию — если вы хотите быстрее разбираться в коде, писать более чистый код и изучать best practices.

Cursor — это своеобразный «форк» Visual Studio Code, дополненный рядом интеллектуальных функций для написание кода.

Я перешёл на Cursor сравнительно недавно, но уже успел ощутить заметную разницу в скорости разработки. В этой статье расскажу о том, как я его настроил и какие основные функции использую чаще всего, чтобы вы могли оценить, насколько такой подход будет полезен и в вашем рабочем процессе.

С чего начать?

Первое, что вам потребуется, — скачать сам Cursor.

Это бесплатно, хотя часть функций становится доступна только по подписке за 20 долларов. Бесплатный уровень позволяет использовать его некоторое время. Кроме того, вы можете добавить свои собственные ключи OpenAI, Claude и Gemini в настройках, если вы уже платите за них.

Установка и настройка

После установки Cursor нужно будет установить несколько зависимостей, чтобы интеграция с вашим проектом была полной.В терминале необходимо установить: brew install xcode-build-server.

Это позволит SourceKit-LSP работать вне Xcode, предоставляя все те же функции, что и в Xcode: переход к определению, поиск всех ссылок, анализ дерева вызовов и т.д. Почти все возможности, которые есть в Xcode, теперь будут доступны и в Cursor.

Далее, установите xcbeautify: brew install xcbeautify.

xcbeautify приводит вывод xcodebuild в терминале Cursor к более удобному, читаемому формату, что делает поиск ошибок или предупреждений проще и нагляднее.


Терминал Cursor при сборке с использованием xcpretty. И SwiftFormat, если у вас его еще нет: brew install swiftformat.После того, как необходимые компоненты установлены, запустите Cursor, откройте вкладку Extensions и добавьте:

* Swift Language SupportЭто расширение обеспечивает корректную подсветку синтаксиса Swift и даёт доступ к основным функциям, связанным с разработкой.

* Sweetpad (тоже)Sweetpad — это ключевой инструмент, который позволяет вести разработку вне привычного интерфейса Xcode. На сайте расширения вы найдёте подробную информацию обо всех возможностях, горячих клавишах и том, как он работает. В этой статье я расскажу лишь о некоторых аспектах Sweetpad, а обо всём остальном сможете узнать сами.

Sweetpad предлагает удобный набор команд и горячих клавиш поверх стандартных инструментов xcodebuild, давая возможность просматривать все ваши таргеты, выбирать, куда именно будет установлено приложение (на симулятор или устройство), собирать проект и запускать его — так же, как в Xcode. Кроме того, Sweetpad автоматически настраивает ваш проект для Xcode Build Server, благодаря чему вы получаете все функции, о которых шла речь ранее.

После установки Sweetpad нажмите CMD+SHIFT+P, чтобы открыть меню команд, и выберите в нём Sweetpad: Generate Build Server Config.

Эта команда создаст в корневой папке вашего проекта файл buildServer.json, чтобы Xcode Build Server мог корректно работать с вашим проектом.

Когда файл настроек создан, воспользуйтесь командой «Build & Run» (либо из меню команд, либо во вкладке Sweetpad в Cursor, которую стоит закрепить). Там вы сможете увидеть все ваши таргеты и запустить любой из них.

Кроме того, здесь тоже можно отлаживать приложение: создайте конфигурацию запуска для режима отладки и при появлении запроса выберите Sweetpad. Затем можно сначала использовать Build & Run или сразу перейти во вкладку Run & Debug и выбрать «Attach to running app».

Что умеет Cursor?

Когда вы закончите все настройки, можно приступать к написанию кода.

Cursor Tab

Помимо стандартного автодополнения от SourceKit, в Cursor есть собственный ИИ-механизм автокомплита, который угадывает, что вы хотите написать дальше. Также он индексирует ваш проект, чтобы формировать подсказки, учитывающие именно ваш код.

У меня, например, при работе над новой фичей Cursor почти всегда точно предсказывает, что я собираюсь написать, и мне остаётся только нажимать Tab.

IMG_8315.MOV [video-to-gif output image]

Но это ещё не всё: если вы меняете какую-то логику или название переменных, Cursor достаточно умён, чтобы предложить соответствующие правки во всей остальной части кода. Вы просто нажимаете Tab — и изменения вносятся сразу во всех нужных местах.

Лично для меня одна эта функция уже меняет все правила игры: код пишется намного быстрее и при этом остаётся моим, в моём стиле, идеально вписывается в проект. Да, иногда приходится что-то подправлять вручную, но чаще всего Cursor предлагает то, что нужно.

Inline edit

Если вы выделите какой-то участок кода и нажмёте CMD + K, то Cursor автоматически добавит его в prompt и вы сможете, например, попросить отрефакторить этот код или выполнить с ним любое другое действие.

 Если вы нажимаете на пустой строке, то вы можете написать в prompt, что хотите сгенерировать, и получить нужный код сразу в редакторе.

IMG_8317.MOV [video-to-gif output image]

Chat

Следующая отличная функция — это чат. Когда у вас появляются вопросы по поводу кода, можно нажать CMD + L, чтобы открыть панель чата.

Там вы можете выбрать, с какой моделью общаться (все они входят в подписку Cursor), добавить фрагменты кода, подключить файлы к текущему контексту и так далее.

Я часто использую чат, чтобы обсудить архитектурные решения или задать вопросы о том, как лучше реализовать логику, как отрефакторить код или почему он ведёт себя странно. Конечно, можно обратиться к ChatGPT или Claude через их веб-интерфейсы, но в Cursor всё происходит прямо в редакторе, без переключения контекста. Плюс: тут есть удобные горячие клавиши, позволяющие моментально встроить нужные фрагменты кода в сообщение. Для меня это одно из важнейших преимуществ, заметно ускоряющих процесс разработки.

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

Например, Docs

Вы можете выбрать там официальный документацию от Apple или же можете добавить свою документацию, и затем курсор проиндексирует и изучит документ, и вы сможете использовать его в качестве контекста.

или Composer

Функция Composer похожа на чат, но полезна, если нужно массово изменить или сгенерировать сразу несколько файлов.

Rules for AI в Cursor

В Cursor есть раздел Rules for AI, где можно задать глобальные инструкции для ИИ. Например:

  • always respond in Russian — чтобы ответы были на русском.
  • use NavigationStack instead of NavigationView — автоматический апдейт устаревших API.

Эти правила работают во всех проектах (чаты, CMD+K, CMD+L ).

Примеры готовых правил от других разработчиков:

Посмотрите, как настраивают Rules for AI в реальных проектах → cursor.directory.

Там есть шаблоны для SwiftUI, React, Rust и даже запреты на конкретные антипаттерны.

P.S. Можно даже подготовить шаблоны для миграции на Swift 6 🚀

Зачем это нужно:

  • Код всегда соответствует вашим стандартам.
  • Не нужно каждый раз повторять одни и те же требования.
  • Легко синхронизировать правила в команде через .cursorrules-файл.

Заключение

Cursor отлично справляется с рутинными задачами: написание тестов, рефакторинг, обновление API. Вам больше не нужно переключаться между браузером.

Но есть нюансы:

  • Пока Cursor не заменяет глубокий анализ (поиск утечек памяти, сложный дебаггинг).
  • Cursor не обладает навыками самостоятельного problem solving.
  • Нету инструментов как Memory Graph View Hierarchy и др.

Cursor – это не замена Xcode, а скорее крутой помощник. Он отлично справляется с рутиной, но для серьезной отладки я всё равно возвращаюсь в Xcode. Там пока не имеются Memory Graph, View Hierarchy и подобные продвинутые штуки.