Bem-vindo ao desenvolvimento em Swift no Cursor! Seja criando apps para iOS, apps para macOS ou projetos Swift no lado do servidor, a gente tá contigo. Este guia vai te ajudar a configurar teu ambiente Swift no Cursor, começando pelo básico e seguindo para recursos mais avançados.

Fluxo básico

A maneira mais simples de usar o Cursor com Swift é tratá-lo como seu editor de código principal, mantendo o Xcode para compilar e executar os apps. Você vai ter recursos ótimos como:
  • Autocompletar inteligente
  • Assistência de código com IA (experimenta CMD+K em qualquer linha)
  • Acesso rápido à documentação com @Docs
  • Realce de sintaxe
  • Navegação básica de código
Quando precisar compilar ou executar teu app, é só alternar pro Xcode. Esse fluxo é perfeito pra devs que querem aproveitar os recursos de IA do Cursor enquanto continuam usando as ferramentas familiares do Xcode pra depuração e deployment.

Hot Reloading

Ao usar workspaces ou projetos do Xcode (em vez de abrir uma pasta diretamente no Xcode), o Xcode pode acabar ignorando alterações nos teus arquivos feitas no Cursor ou fora do Xcode em geral. Embora dê pra abrir a pasta no Xcode pra contornar isso, talvez tu precise usar um projeto no teu fluxo de desenvolvimento em Swift. Uma ótima solução é usar o Inject, uma biblioteca de hot reloading para Swift que permite que teu app faça hot reload e atualize assim que as alterações são feitas em tempo real. Isso não sofre com os efeitos colaterais do problema de workspace/projeto do Xcode e permite que tu faça alterações no Cursor e veja elas refletidas no teu app imediatamente.

Desenvolvimento avançado em Swift

Esta seção do guia foi fortemente inspirada por Thomas Ricouard e pelo seu artigo sobre como usar o Cursor para desenvolvimento iOS. Confere o artigo dele para mais detalhes e segue ele pra mais conteúdo sobre Swift.
Se tu quer usar só um editor por vez e evitar ficar alternando entre Xcode e Cursor, dá pra usar uma extensão como a Sweetpad pra integrar o Cursor diretamente ao sistema de build subjacente do Xcode. A Sweetpad é uma extensão poderosa que permite compilar, executar e depurar teus projetos Swift diretamente no Cursor, sem abrir mão dos recursos do Xcode. Pra começar com a Sweetpad, tu ainda vai precisar ter o Xcode instalado no teu Mac — é a base do desenvolvimento Swift. Tu pode baixar o Xcode na Mac App Store. Depois de configurar o Xcode, bora aprimorar tua experiência de desenvolvimento no Cursor com algumas ferramentas essenciais. Abre teu terminal e executa:
# Compila teus projetos sem precisar deixar o Xcode aberto
brew install xcode-build-server

# Formata de forma legível a saída do comando `xcodebuild` no terminal do Cursor
brew install xcbeautify

# Habilita formatação avançada e recursos de linguagem
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 adiciona um monte de atalhos em volta da CLI xcodebuild (e muito mais) e permite escanear teus targets, selecionar o destino, compilar e rodar teu app do mesmo jeito que no Xcode. Além disso, ele configura teu projeto para o Xcode Build Server, então tu ganha todos os recursos mencionados acima.

Sweetpad Usage

Assim que o Sweetpad estiver instalado e tu tiver um projeto Swift aberto no Cursor, primeiro roda o comando Sweetpad: Generate Build Server Config. Isso vai gerar um arquivo buildServer.json na raiz do teu projeto que permite que o Xcode Build Server funcione com ele. Depois, tanto pelo Command Palette quanto pela barra lateral do Sweetpad, tu pode selecionar o target que quer compilar e rodar.
Tu precisa compilar teu projeto uma vez para habilitar auto-complete, ir para a definição e outros recursos de linguagem.
Tu também pode agora apertar F5 para compilar e rodar teu projeto com um debugger — talvez precise criar uma launch configuration primeiro, mas é só selecionar Sweetpad na lista quando for solicitado! Como em muitas extensões no Cursor, dá pra vincular vários comandos do Sweetpad a atalhos de teclado pra deixar teu fluxo de trabalho ainda mais eficiente. Pra saber mais sobre o Sweetpad, dá uma olhada nesses recursos: