Por qué volví a Visual Studio Code después de probar Cursor y Windsurf
El mundo del desarrollo está viviendo una revolución con los editores potenciados por IA. Cursor y Windsurf han capturado la atención de miles de desarrolladores con promesas de acelerar drasticamente nuestro flujo de trabajo. Como muchos otros, decidí darles una oportunidad real durante varias semanas. Sin embargo, después de esta experiencia, he vuelto a Visual Studio Code con GitHub Copilot. Te explico por qué.
El problema con las soluciones "revolucionarias"
Es tentador saltar al siguiente gran avance tecnológico, especialmente cuando promete transformar por completo nuestra forma de trabajar. Cursor se presenta como el futuro de la programación, mientras que Windsurf promete ser el asistente de IA definitivo. Pero en la práctica, encontré varios obstáculos que me hicieron replantear si realmente necesitaba cambiar mi flujo de trabajo establecido.
Autocompletado invasivo en Windsurf
Una de las primeras cosas que noté al usar Windsurf fue lo agresivo que resulta su sistema de autocompletado. A diferencia de las sugerencias discretas de GitHub Copilot, Windsurf constantemente interrumpe tu flujo de pensamiento con sugerencias que aparecen sin solicitar y que muchas veces no son relevantes para lo que estás tratando de lograr.
Esto puede parecer un detalle menor, pero cuando estás en flow state, esas interrupciones constantes terminan siendo contraproducentes. El desarrollo requiere concentración, y un asistente que no respeta tus pausas para reflexionar se convierte más en un obstáculo que en una ayuda.
Problemas con WSL y rendimiento
Tanto Cursor como Windsurf tienen serios problemas de conectividad y rendimiento cuando trabajas con WSL (Windows Subsystem for Linux). Las desconexiones constantes y la latencia adicional hacen que la experiencia de desarrollo sea frustrante.
Visual Studio Code, por el contrario, tiene una integración nativa y estable con WSL que funciona sin problemas desde hace años. Cuando tu entorno de desarrollo depende de herramientas de Linux, la estabilidad de esta conexión no es negociable.
Extensiones y wrappers propietarios
Un aspecto que me resultó particularmente problemático fue descubrir que algunas extensiones esenciales, como la de Python, requieren wrappers propietarios para funcionar correctamente en estos nuevos editores. Esto introduce una capa adicional de complejidad y dependencia que no existe en el ecosistema maduro de Visual Studio Code.
La extensión de Python para VSCode es robusta, bien mantenida y no requiere intermediarios para acceder a todas sus funcionalidades. Esto se traduce en menos puntos de falla y mejor compatibilidad a largo plazo.
El problema del PATH de Cursor
Uno de los aspectos más molesto es que Cursor sobreescribe automáticamente el comandocode en tu PATH durante la instalación. Esto significa que incluso si solo estás probando la herramienta, ya no puedes usar code . para abrir Visual Studio Code desde la terminal.
Es una práctica invasiva que no respeta la configuración existente del usuario y que puede crear confusión, especialmente cuando trabajas en equipos donde algunos miembros usan diferentes editores.
Limitaciones en entornos Linux
Cursor no permite abrir múltiples instancias en entornos Linux, una limitación significativa para quienes trabajamos con múltiples proyectos simultáneamente. Esta funcionalidad básica está disponible en Visual Studio Code sin restricciones.
Los cambios constantes de pricing y ownership
Tanto Cursor como Windsurf han experimentado cambios significativos en sus modelos de pricing y ownership recientemente. Estos cambios generan incertidumbre sobre la estabilidad a largo plazo de estas plataformas y sus compromisos con la comunidad de desarrolladores.
Visual Studio Code, siendo un proyecto de código abierto respaldado por Microsoft, ofrece más predictibilidad en cuanto a su futuro y evolución.
El concepto de "copiloto" vs "reemplazo"
Quizás el punto más importante es conceptual. GitHub Copilot entiende que es exactamente eso: un copiloto. Te asiste sin intentar tomar control completo de tu proceso de desarrollo. Sugiere cuando es apropiado y se mantiene en segundo plano cuando no lo necesitas.
Cursor y Windsurf, por el contrario, parecen estar diseñados bajo la premisa de que la IA debería reemplazar gran parte del proceso de programación. Aunque esto puede sonar atractivo en teoría, en la práctica elimina mucho del aspecto creativo y de resolución de problemas que hace que programar sea satisfactorio.
La madurez del ecosistema VSCode
Después de más de 5 años usando Visual Studio Code, su ecosistema de extensiones, su estabilidad y su integración con herramientas de desarrollo son simplemente incomparables. Las nuevas alternativas pueden ofrecer funcionalidades novedosas, pero aún no han alcanzado el nivel de calidad y confiabilidad que necesitas para el trabajo diario.
Los atajos de teclado, los snippets personalizados y todas las optimizaciones que has construido a lo largo de los años tienen un valor que va más allá de las funcionalidades de IA que ofrecen las alternativas.
Conclusión
No estoy en contra de la innovación ni de explorar nuevas herramientas. Cursor y Windsurf representan avances interesantes en la integración de IA en el desarrollo de software. Sin embargo, después de probarlas en condiciones reales de trabajo, las limitaciones y fricciones que introducen superan sus beneficios.
Visual Studio Code con GitHub Copilot ofrece el equilibrio perfecto: te brinda asistencia de IA cuando la necesitas, mantiene la estabilidad y madurez de un editor probado, y respeta tu flujo de trabajo sin intentar reemplazarte.
A veces, la herramienta más nueva no es necesariamente la mejor herramienta para el trabajo. En el desarrollo de software, la consistencia, estabilidad y eficiencia suelen ser más valiosas que las funcionalidades llamativas.
La filosofía correcta para programar con IA: Una perspectiva desde la experiencia
Descubre la filosofía esencial para programar efectivamente con inteligencia artificial, equilibrando productividad, ética y desarrollo profesional en el mundo del software moderno.
¿La obsesión con el código limpio está ralentizando tu productividad? En este artículo, reflexiono sobre cómo nuestra dedicación al código de alta calidad puede desviarnos de nuestro objetivo principal: satisfacer las necesidades del cliente.