June 29

125. Отзыв на Cursor в 2025 году

Неделю назад я решил установить Cursor для эксперимента. В этой статье расскажу о своем опыте использования: что понравилось, а что нет. Уже можно заменять сеньоров джунами с cursor?)

Установка

Делал все по официальной инструкции (ссылка), и базовый функционал запустился сразу - чат и режим агента.

Подсветка синтаксиса мне не понравилась, и это было исправлено установкой отдельного расширения.

Дополнительно сразу установил sweetpad, чтобы можно было запускать симулятор и сборку прямо из cursor, но пользовался этим всего пару раз, потому что очень непривычно и выглядит костыльно (но вдруг кому-то понравится).

Навигация по коду тоже не работала после первой базовой установки, т.е. нельзя было перейти к определению, посмотреть документацию к своему же коду и т.д. - это я решал уже под конец недели на выходных, и уже с использованием чата в самом cursor, достаточно было после установки sweetpad запустить одну команду, и об этом прямо сказано в первом предложении соответствующего абзаца в документации, но эту строку успешно пропустил 😅

Важные моменты

Cursor не является самостоятельной нейросетью - он предоставляет возможность выбрать нейросеть для работы, и дополнительно реализует некоторые удобные штуки в UI для работы с нейросетью.

В бесплатной двухнедельной версии набор нейросетей чуть меньше, чем в платной, и первые несколько дней я пользовался бесплатной версией claude-3.5-sonnet, которая мне понравилась больше, чем остальные доступные варианты.

Когда оплатил подписку, то переключился на claude-4-sonnet, которая чуть лучше. Остальные пробовал - не понравились.

Когда ниже по тексту я буду говорить, что нейросеть тупит, это будет относиться именно к выбранной нейросети, в моем случае claude-4-sonnet, а когда буду говорить, что тупит cursor - это будет конкретно про UI/UX в самом cursor.

Я не использую режим MAX - он требует активации Usage-Based Pricing, а у меня нет зарубежной карты (и не планируется), и сколько бы там ни стоил этот режим, я не могу за него заплатить.

Что понравилось

  1. Не нужно переходить в браузер, чтобы спросить нейросеть о чем-то, можно это сделать прямо в cursor, там же где видно код - это самое сильное преимущество перед веб-версией других нейросетей
  2. Чтобы добавить контекст для задачи, достаточно выделить строчки кода и нажать "добавить в чат", или перетащить нужные файлы в окно чата с нейросетью
  3. Можно добавлять в контекст целые папки, причем как при помощи перетаскивания, так и при помощи горячих клавиш - вводишь @ и выбираешь нужную папку/файл
  4. Если описать задачу достаточно подробно, то можно в короткий срок увидеть и применить работающее решение задачи
  5. Удобно разбираться с кодом в режиме чата (Ask), а потом по мере необходимости можно переключиться в режим агента (Agent) и попросить внести нужные изменения в коде
  6. В режиме агента cursor вносит правки до тех пор, пока задача не будет выполнена, и предлагает запустить сборку, чтобы проверить работоспособность кода - если сборка упадет, он поправит ошибки
  7. Отлично справляется с генерацией описания для выполненных работ, например описание этой задачи составил cursor, я исправил только одну строку в самом конце
  8. Можно попросить посмотреть его посмотреть конкретный коммит или найти в истории изменений определенный функционал, и чаще всего поиски заканчиваются успехом - cursor находит, анализирует и отвечает
  9. Можно запустить проект на любом другом языке программирования и получить ответы на большинство вопросов со всеми удобствами из предыдущих пунктов, и я этим уже воспользовался, благодаря чему завел задачу на доработку для пет-проекта - у меня есть доступ к коду серверной части проекта, поэтому большинство вопросов теперь могу решить за пару минут, и не нужно дергать бэкендера лишний раз по выходным.

С чем справляется не очень

Генерация команд для сборки

Команды для запуска билда часто выдает с ошибками, даже если раньше 10 раз успешно собирал, может на 11 раз выдать нерабочую команду. Скорее всего это проблема нейросети, но у меня ведь настроены правила в самом cursor, и там написано четко - собирай билд для проекта с project-файлом, не ищи workspace.

Правила

Правила cursor либо не работают, либо работают плохо. Четкая формулировка "не используй CAPS-LOCK в ответах" не дает результата. Я пробовал разные формулировки, результат одинаковый - нейросеть пишет как ей вздумается, и часто капсом.

При этом правила я настраивал в том числе с использованием нейросети в самом cursor, и по мнению нейросети у меня отличные правила, которые точно должны работать, но похоже где-то есть ограничения или баги в самом cursor.

Swift

Нейросеть легко напишет код для структуры с @Published-полями внутри - такое я впервые увидел именно в cursor, хотя использовал эту же нейросеть в perplexity - там такой фигни не было 😁

Concurrency? Не слышал. В проекте лежит файл с версией Swift, в настройках проекта тоже явно указана строгая проверка на concurrency, но либо cursor всего этого не видит, либо нейросеть сильно тупит, потому что при работе со всякими Task внутри классов каждый раз возникают ошибки билда, которые потом нейросеть чинит в несколько итераций. В конечном итоге cursor может просто удалить этот код и сказать, что теперь все работает 🙈

Минимальную версию iOS в проекте тоже не уважает - легко пишет код с использованием import Observation в проекте с iOS 15.

Если это и должно решаться правилами, то правила работают плохо, и мне не хочется тратить время на битву с неработающим функционалом - просто в том же диалоге пишу "не используй Observation, потому что в проекте iOS 15".

UI/UX

Мне не понравился ни UI, ни UX в cursor. Знаю, что это немного измененный Visual Studio Code, но тот мне тоже совсем не нравится - для iOS-разработки Xcode на мой взгляд лучший, во всяком случае пока. И знаю, что есть ребята, которым наоборот больше нравятся сторонние IDE, но я не в их числе 😁

Чтобы разобраться в настройках cursor, мне пришлось обращаться к нескольким нейросетям, включая встроенные в самом cursor, и ни одна мне не дала правильный ответ ни разу, потому что настройки там просто дикие: есть Cursor Settings, которые открываются при нажатии на шестеренку, а есть Settings, которые открываются при нажатии на open в разделе General -> Editor Settings.

Если вам вдруг понадобится изменить настройки cursor напрямую в json, то это можно сделать именно в Editor Settings -> Open Settings (JSON) - эта кнопочка отображается справа сверху, и ее легко не заметить.

Решили что-то написать в cursor в коде проекта, а потом понадобилось перейти в Xcode? А вот и нифига - пока вручную не сохранишь в cursor свои изменения, они не отобразятся в Xcode. Я два раза пытался что-то написать в cursor, но просто бросил эту затею - привыкать к новой IDE без повода не хочу и не буду.

Дебаг

У меня установлен sweetpad для дебага, и я честно попробовал им воспользоваться, даже дважды. Этот раздел можно было смело сложить в предыдущий про UI/UX, но там уже и без того немало написано.

Симулятор запускается дольше, чем в Xcode, логи отображаются без фильтров по уровню, ну и в принципе нет этого функционала, ведь это не Xcode. Если я его просто не нашел, то опять же не удивляюсь, потому что UI/UX там на мой взгляд просто никакой 🤬

Скорее всего при большом желании можно пересесть на cursor даже для дебага, но должна быть сильная мотивация, и желание должно быть очень большим (ну или должна быть сильная ненависть к Xcode).

Разработчики резко теряют работу

Нет.

Это просто новый инструмент, который кому-то поможет разобраться в проекте, сделать фичу или поправить старый баг, а кому-то поможет наговнокодить с три короба, потому что нужно уметь формулировать постановку задачи, чтобы нейросеть сделала то что нужно (или хотя бы рядом с этим).

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

Так что если вас посещает мысль "войти в айти" с использованием cursor или подобных инструментов без навыков программирования, то мне остается чистосердечно пожелать вам удачи 😉

Считаю свой гайд "Как стать iOS-разработчиком" все еще актуальным и полезным для старта в iOS.

Заключение

Несмотря на все перечисленные минусы, мне очень понравилось делать задачи с использованием cursor, и я все время сравниваю этот процесс с предыдущим вариантом - использованием веб-версий разных нейросетей, включая perplexity, qwen, deepseek (RIP).

Возможность не открывать браузер для решения большинства вопросов по проекту - это невероятный плюс, который перевешивает все минусы.

Особенно круто cursor себя показывает при погружении в новый проект, и вполне может помочь с онбордингом в команде, чтобы не дергать по каждому вопросу коллег.

Я все еще очень жду релизную версию Xcode 26, чтобы сравнить нативный режим агента с вариантом от cursor, а бета-версию не ставлю, потому что мне хватает официальных релизных заметок. И даже если целиком перейду на Xcode 26 осенью, то все равно продолжу использовать cursor для проектов на других языках программирования, пока не появится более удобная альтернатива 🙂