Bienvenue dans le développement Swift avec Cursor ! Que tu crées des apps iOS, des applications macOS ou des projets Swift côté serveur, on t’accompagne. Ce guide t’aidera à configurer ton environnement Swift dans Cursor, en commençant par les bases puis en passant à des fonctionnalités plus avancées.

Flux de travail de base

La façon la plus simple d’utiliser Cursor avec Swift, c’est de t’en servir comme éditeur de code principal tout en comptant sur Xcode pour la compilation et l’exécution de tes apps. Tu profites de fonctionnalités au top comme :
  • Complétion de code intelligente
  • Assistance au codage par IA (essaie CMD+K sur n’importe quelle ligne)
  • Accès rapide à la doc avec @Docs
  • Coloration syntaxique
  • Navigation de base dans le code
Quand tu as besoin de builder ou d’exécuter ton app, bascule simplement sur Xcode. Ce flux de travail est parfait pour les devs qui veulent profiter des capacités IA de Cursor tout en restant sur les outils Xcode qu’ils connaissent pour le debug et le déploiement.

Hot Reloading

Quand tu utilises des workspaces ou des projets Xcode (au lieu d’ouvrir un dossier directement dans Xcode), Xcode peut parfois ignorer les modifications apportées à tes fichiers depuis Cursor, ou en dehors de Xcode en général. Même si tu peux ouvrir le dossier dans Xcode pour régler ça, tu peux avoir besoin d’utiliser un projet pour ton flux de dev Swift. Une excellente solution consiste à utiliser Inject, une bibliothèque de hot reloading pour Swift qui permet à ton app de « hot reload » et de se mettre à jour en temps réel dès qu’il y a des changements. Elle n’est pas sujette aux effets de bord liés aux workspaces/projets Xcode et te permet de faire des modifications dans Cursor et de les voir appliquées immédiatement dans ton app.

Développement Swift avancé

Cette section du guide s’inspire largement du travail de Thomas Ricouard et de son article sur l’utilisation de Cursor pour le développement iOS. Va lire son article pour plus de détails et file-lui un follow pour plus de contenu Swift.
Si tu veux n’avoir qu’un seul éditeur ouvert à la fois et éviter de basculer sans cesse entre Xcode et Cursor, tu peux utiliser une extension comme Sweetpad pour intégrer Cursor directement au système de build d’Xcode. Sweetpad est une extension puissante qui te permet de compiler, lancer et déboguer tes projets Swift directement dans Cursor, sans renoncer aux fonctionnalités d’Xcode. Pour démarrer avec Sweetpad, tu dois quand même avoir Xcode installé sur ton Mac — c’est la base du développement Swift. Tu peux télécharger Xcode depuis le Mac App Store. Une fois Xcode configuré, on va améliorer ton expérience de dev dans Cursor avec quelques outils essentiels. Ouvre ton terminal et exécute :
# Compile tes projets sans avoir besoin d’ouvrir Xcode
brew install xcode-build-server

# Formate joliment la sortie de la commande `xcodebuild` dans le terminal de Cursor
brew install xcbeautify

# Autorise un formatage avancé et des fonctionnalités de langage
brew install swiftformat
Ensuite, installe l’extension Swift Language Support dans Cursor. Tu auras la coloration syntaxique et des fonctionnalités de base prêtes à l’emploi. Puis, installe l’extension Sweetpad pour intégrer Cursor avec Xcode. Sweetpad enveloppe un tas de raccourcis autour du CLI xcodebuild (et bien plus), et te permet d’analyser tes cibles, de sélectionner la destination, de compiler et de lancer ton app comme dans Xcode. En plus de ça, il configurera ton projet pour Xcode Build Server afin que tu profites de toutes les fonctionnalités mentionnées ci-dessus.

Utilisation de Sweetpad

Une fois Sweetpad installé et un projet Swift ouvert dans Cursor, exécute d’abord la commande Sweetpad: Generate Build Server Config. Ça va générer un fichier buildServer.json à la racine de ton projet, qui permet à Xcode Build Server de fonctionner avec ton projet. Ensuite, depuis la Command Palette ou la barre latérale de Sweetpad, tu peux sélectionner la cible que tu veux compiler et exécuter.
Tu dois compiler ton projet une fois pour activer l’autocomplétion, l’accès à la définition, et d’autres fonctionnalités de langage.
Tu peux aussi maintenant appuyer sur F5 pour compiler et lancer ton projet avec un débogueur — tu devras peut-être créer une configuration de lancement d’abord, mais sélectionne simplement Sweetpad dans la liste quand c’est demandé ! Comme avec beaucoup d’extensions dans Cursor, tu peux associer de nombreuses commandes Sweetpad à des raccourcis clavier pour rendre ton workflow encore plus efficace. Pour en savoir plus sur Sweetpad, consulte ces ressources :