Месяц назад я переключился с Copilot на Cursor — и несколько раз порывался вернуться обратно. Не потому что Cursor плохой. А потому что привычка — страшная штука, и когда инструмент работает иначе, чем ты ожидаешь, мозг сразу кричит "сломано".
Но я остался. И вот что понял за это время.
Почему вообще сравнивать
Оба инструмента делают одно и то же — помогают писать код быстрее. Но подход у них принципиально разный, и от этого зависит, кому что подойдёт.
Copilot — это плагин. Он живёт внутри VS Code, JetBrains, Neovim — где угодно. Ты продолжаешь работать в своей среде, просто автодополнение стало умнее. Cursor — это форк VS Code, то есть отдельный редактор. Ты не устанавливаешь его поверх чего-то, ты переезжаешь.
Отсюда и разная цена входа. С Copilot она нулевая. С Cursor — надо потратить время на настройку, перенос расширений, привыкание.
Что у Cursor реально лучше
Главная фишка Cursor — режим Composer, который теперь называется Agent. Это не автодополнение строчки и даже не ответ в чате. Говоришь: "добавь логирование во все методы этого класса" — и редактор сам открывает нужные файлы, вносит правки, показывает diff. Ты смотришь, принимаешь или откатываешь.
Первый раз я использовал это на рефакторинге старого Python-скрипта. Страниц на пять, написан в три захода разными людьми — классика. Попросил Cursor привести его к единому стилю и убрать дублирующиеся функции. Он прошёлся по файлу, предложил изменения с объяснениями, я принял большую часть. Руками бы возился час, тут — минут двадцать вместе с проверкой.
Copilot такого не умеет. Точнее, у него есть Copilot Edits — но это заметно слабее по качеству и контролю. Ощущение другое: там ты ведёшь, тут ты проверяешь.
Ещё Cursor лучше работает с контекстом. Можно явно добавить файлы через @, указать документацию, подключить веб-поиск. Copilot тоже тянет контекст из открытых файлов, но менее прозрачно — не всегда понятно, что именно он "видит".
Где Copilot держит позиции
Автодополнение. Copilot оттачивал его годами, и оно до сих пор ощущается точнее в мелочах — особенно в TypeScript, Python, Go. Cursor тоже предлагает автодополнение, и оно хорошее, но иногда чуть медленнее реагирует.
Дальше — интеграция с GitHub. Если работаешь с PR, issues, Actions — Copilot знает про это всё. Может объяснить PR, предложить описание коммита, поработать прямо в интерфейсе GitHub. Cursor с этим не связан никак.
Стабильность. Cursor молодой продукт, и это чувствуется. Несколько раз Agent зависал посередине задачи, и непонятно было — он ещё что-то делает или нет. Copilot в этом плане скучнее, зато надёжнее.
И ещё момент, который редко упоминают: если в команде у всех разные редакторы — Copilot работает везде. Cursor требует, чтобы все переехали на него. Для соло-разработчика это не проблема, для команды — уже разговор.
Про деньги
Copilot стоит $10 в месяц для индивидуальных разработчиков, Cursor — $20. Разница не катастрофическая, но есть.
При этом у Cursor есть бесплатный план с ограниченным количеством запросов к мощным моделям. Попробовать можно нормально, не в режиме "вот тебе три запроса на всё". Copilot тоже даёт бесплатный план — 2000 автодополнений и 50 чат-запросов в месяц. Для хобби-проектов хватит.
Один нюанс с Cursor: он использует сторонние модели — Claude, GPT-4o и другие. То есть ты платишь Cursor, а он уже платит Anthropic или OpenAI. Качество ответов зависит от того, какую модель ты выбрал. Я по умолчанию хожу на Claude — мне нравится, как он объясняет код и держит длинный контекст.
Кому что
Cursor имеет смысл, если работаешь над большими проектами в одиночку или в маленькой команде, часто делаешь рефакторинг и готов потратить пару дней на то, чтобы обжиться в новом редакторе.
Copilot выглядит разумнее, если уже сидишь в JetBrains или Neovim и никуда переезжать не хочешь, работаешь в команде с разными инструментами, или просто нужно умное автодополнение — без агента рядом.
Честно говоря, я не думаю, что через год это сравнение будет актуальным. Copilot явно догоняет по агентным возможностям, Cursor — по стабильности. То, что сегодня выглядит как преимущество, через полгода станет базовой функцией у всех.
Но прямо сейчас, если бы мне пришлось выбирать один инструмент — я бы снова выбрал Cursor. Уже выбрал, собственно.
