IDE Experience — Лаборатория DX
Easy Авторский

IDE Experience

Как IDE и расширения влияют на продуктивность разработчиков

Первоисточник

2025 Stack Overflow Developer Survey

Stack Overflow, 2025

Редактор как среда обитания

Разработчик проводит в IDE больше времени, чем в любом другом инструменте. Выбор редактора, его настройка, набор расширений — всё это формирует ежедневный опыт работы с кодом. Автодополнение за 50 миллисекунд, мгновенный go-to-definition, ошибки подсвечены прямо при наборе — поток сохраняется. IDE тормозит, индексация зависает, расширение для TypeScript падает каждые полчаса — когнитивные ресурсы уходят на борьбу с инструментом вместо задачи.

По данным Stack Overflow Developer Survey 2025, Visual Studio Code занимает 75.9% рынка — втрое больше, чем у ближайшего конкурента. Доля VS Code выросла на 2.3 процентных пункта относительно 2024 года. Одновременно появились AI-ориентированные редакторы: Cursor набрал 18% использования, Claude Code — 10%, Windsurf — 5%. Рынок IDE меняется быстрее, чем за последние десять лет.

LSP: протокол, изменивший правила

До 2016 года каждый редактор реализовывал поддержку языков программирования самостоятельно. Качество автодополнения и навигации в Go под Vim зависело от того, нашёлся ли энтузиаст, написавший плагин для Vim + Go. Для N редакторов и M языков требовалось N × M реализаций — и большинство из них были неполными.

Language Server Protocol (LSP), разработанный Microsoft, решил эту проблему через стандартизацию. Языковой сервер — отдельный процесс, который понимает код на конкретном языке и предоставляет API для автодополнения, навигации, рефакторинга и диагностики. Редактор общается с сервером по стандартизированному протоколу. Вместо N × M реализаций нужно N клиентов (по одному на редактор) и M серверов (по одному на язык).

Для разработчика это означает, что переход между редакторами перестал быть болезненным. Языковой сервер rust-analyzer работает одинаково в VS Code, Neovim и Helix. TypeScript Language Server даёт те же возможности в VS Code и Cursor. Редактор выбирается по эргономике интерфейса, а языковая поддержка следует за выбором.

Для создателей языков LSP снизил порог входа в экосистему инструментов: достаточно написать один языковой сервер, и язык получает поддержку во всех LSP-совместимых редакторах. По этой причине новые языки вроде Zig и Gleam получают качественные IDE-расширения быстрее, чем это было возможно десять лет назад.

AI в редакторе: новый слой продуктивности

AI-инструменты интегрировались в IDE как следующий слой после языковых серверов. GitHub Copilot, Cursor, Claude Code, Windsurf — все они работают внутри редактора или сами являются редактором, предлагая автодополнение на уровне целых функций, генерацию кода по описанию, объяснение существующего кода и рефакторинг.

По данным Stack Overflow 2025, 70% пользователей AI-агентов подтверждают, что агенты сократили время на определённые задачи разработки. Одновременно 66% разработчиков называют главной проблемой «решения, которые почти правильны, но не совсем», а 45% жалуются, что отладка AI-сгенерированного кода занимает больше времени, чем экономится на его генерации.

Cursor занял нишу между классическим VS Code и полностью AI-управляемой разработкой. Построен на базе VS Code (форк), поддерживает все VS Code расширения и LSP, но добавляет глубокую интеграцию с языковыми моделями: inline-редактирование по инструкции, чат с контекстом всего проекта, генерация diff’ов. Для тех, кто привык к VS Code, переход на Cursor проходит безболезненно — привычные клавиши, расширения и настройки сохраняются.

Remote Development: IDE в облаке

GitHub Codespaces, Gitpod и аналогичные сервисы перенесли IDE в облако. Репозиторий открывается в браузере или через SSH-подключение из локального VS Code, а вся работа происходит на удалённой виртуальной машине. Код не скачивается на ноутбук, зависимости установлены заранее, dev-окружение поднято и готово к работе.

Для DX remote development решает несколько проблем. Онбординг сокращается с часов настройки локального окружения до нажатия одной кнопки — подробнее в главе про Dev Containers. Стандартизация окружений убирает категорию багов «у меня работает, а на CI нет». Мощность машины перестаёт быть ограничением: полный набор тестов запускается на 32-ядерном сервере, при том что разработчик сидит за MacBook Air.

Ограничение remote development — зависимость от сети. Задержка в 100 миллисекунд между нажатием клавиши и появлением символа на экране раздражает через минуту и становится невыносимой через час. SSH-подключение из VS Code и Cursor работает лучше, чем браузерный редактор, но при нестабильном интернете доступ к коду пропадает целиком — и это ощущается иначе, чем медленный локальный билд.

Что стоит сделать в команде

Стандартизация расширений. Файл .vscode/extensions.json с рекомендованными расширениями для проекта: линтер, форматтер, языковой сервер, отладчик. При открытии проекта VS Code предложит установить их автоматически.

EditorConfig и Prettier/форматтер настраиваются на уровне проекта, а не личных настроек. Это убирает diff-шум из-за различий в форматировании между разработчиками и снимает категорию комментариев в code review.

Скорость языкового сервера стоит проверить. Если TypeScript Language Server индексирует проект 3 минуты при открытии — это проблема, и решается она разбиением tsconfig на project references и исключением ненужных файлов. Если eslint зависает на больших файлах — обновить конфигурацию или перейти на Biome, который работает в разы быстрее.

AI-ассистент, если ещё не пробовали, имеет смысл попробовать, но относиться к нему как к junior-коллеге: полезен для boilerplate, опасен для бизнес-логики. Ожидания в команде стоит проговорить — AI-сгенерированный код проходит тот же code review, что и написанный вручную.