¡Bienvenido al desarrollo de Swift en Cursor! Ya sea que estés creando apps para iOS, aplicaciones para macOS o proyectos de Swift del lado del servidor, te tenemos cubierto. Esta guía te ayudará a configurar tu entorno de Swift en Cursor, empezando por lo básico y pasando a funciones más avanzadas.

Flujo de trabajo básico

La forma más sencilla de usar Cursor con Swift es usarlo como tu editor de código principal y seguir recurriendo a Xcode para compilar y ejecutar tus apps. Vas a tener funciones muy útiles como:
  • Autocompletado inteligente de código
  • Asistencia de programación con IA (prueba CMD+K en cualquier línea)
  • Acceso rápido a la documentación con @Docs
  • Resaltado de sintaxis
  • Navegación básica del código
Cuando necesites compilar o ejecutar tu app, simplemente cambia a Xcode. Este flujo de trabajo es perfecto para devs que quieren aprovechar las capacidades de IA de Cursor mientras siguen usando las herramientas conocidas de Xcode para depuración y despliegue.

Hot Reloading

Al usar workspaces o projects de Xcode (en lugar de abrir una carpeta directamente en Xcode), Xcode a veces puede ignorar los cambios en tus archivos hechos en Cursor, o fuera de Xcode en general. Aunque puedes abrir la carpeta en Xcode para resolver esto, puede que necesites usar un proyecto para tu flujo de trabajo de desarrollo en Swift. Una gran solución es usar Inject, una librería de hot reloading para Swift que permite que tu app haga “hot reload” y se actualice en cuanto detecta cambios en tiempo real. Esto no sufre los efectos secundarios del problema con los workspaces/projects de Xcode y te permite hacer cambios en Cursor y verlos reflejados en tu app al instante.

Desarrollo avanzado con Swift

Esta sección de la guía está fuertemente inspirada por Thomas Ricouard y su artículo sobre cómo usar Cursor para el desarrollo de iOS. Échale un vistazo a su artículo para más detalles y síguelo para más contenido de Swift.
Si buscas tener solo un editor abierto a la vez, y quieres evitar la necesidad de cambiar entre Xcode y Cursor, puedes usar una extensión como Sweetpad para integrar Cursor directamente con el sistema de compilación subyacente de Xcode. Sweetpad es una extensión potente que te permite compilar, ejecutar y depurar tus proyectos Swift directamente en Cursor, sin renunciar a las funcionalidades de Xcode. Para empezar con Sweetpad, necesitarás tener Xcode instalado en tu Mac: es la base del desarrollo con Swift. Puedes descargar Xcode desde la Mac App Store. Una vez que tengas Xcode configurado, vamos a mejorar tu experiencia de desarrollo en Cursor con algunas herramientas esenciales. Abre tu terminal y ejecuta:
# Builds your projects without needing Xcode open
brew install xcode-build-server

# Pretty print's the `xcodebuild` command output into Cursor's terminal
brew install xcbeautify

# Allows for advanced formating and language features
brew install swiftformat
Next, install the Swift Language Support extension in Cursor. This will give you syntax highlighting and basic language features right out of the box. Then, we can install the Sweetpad extension to integrate Cursor with Xcode. Sweetpad wraps a bunch of shortcuts around the xcodebuild CLI (and much more), and allows you to scan your targets, select the destination, build, and run your app just like Xcode. On top of that, it’ll set up your project for Xcode Build Server so you get all the features mentioned above.

Uso de Sweetpad

Una vez que tengas Sweetpad instalado y un proyecto Swift abierto en Cursor, primero deberías ejecutar el comando Sweetpad: Generate Build Server Config. Esto generará un archivo buildServer.json en la raíz de tu proyecto que permite que Xcode Build Server funcione con tu proyecto. Luego, desde el Command Palette o la barra lateral de Sweetpad, puedes seleccionar el target que quieres compilar y ejecutar.
Necesitas compilar tu proyecto una vez para habilitar el autocompletado, ir a la definición y otras características del lenguaje.
También puedes presionar F5 para compilar y ejecutar tu proyecto con el depurador: quizá necesites crear primero una configuración de lanzamiento, pero solo selecciona Sweetpad de la lista cuando se te pida. Como con muchas extensiones en Cursor, puedes asignar muchos de los comandos de Sweetpad a atajos de teclado para hacer tu flujo de trabajo aún más eficiente. Para aprender más sobre Sweetpad, revisa estos recursos: