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

Fluxo básico

A maneira mais simples de usar o Cursor com Swift é tratá-lo como teu editor de código principal, enquanto ainda usas o Xcode para compilar e executar teus apps. Tu vais ter recursos ótimos como:
  • Completação de código 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 precisares compilar ou executar teu app, é só alternar para o Xcode. Esse fluxo é perfeito para devs que querem aproveitar os recursos de IA do Cursor enquanto continuam usando as ferramentas familiares do Xcode para depuração e deploy.

Hot Reloading

Ao usar workspaces ou projetos do Xcode (em vez de abrir uma pasta diretamente no Xcode), o Xcode muitas vezes ignora alterações nos teus arquivos feitas no Cursor, ou fora do Xcode em geral. Embora tu possas abrir a pasta no Xcode para resolver isso, talvez precises usar um projeto para teu fluxo de trabalho de desenvolvimento em Swift. Uma ótima solução é usar o Inject, uma biblioteca de hot reloading para Swift que permite ao teu app fazer “hot reload” e atualizar assim que as alterações são feitas, em tempo real. Isso não sofre dos efeitos colaterais do problema de workspace/projeto do Xcode e permite que tu faças mudanças no Cursor e as vejas refletidas no teu app imediatamente.

Desenvolvimento avançado em Swift

Esta seção do guia foi fortemente inspirada por Thomas Ricouard e seu artigo sobre como usar o Cursor para desenvolvimento em iOS. Confere o artigo dele para mais detalhes e segue o cara para mais conteúdo de Swift.
Se você tá a fim de manter só um editor aberto por vez e quer evitar ficar alternando entre Xcode e Cursor, dá pra usar uma extensão como a Sweetpad para integrar o Cursor diretamente ao sistema de build do Xcode. A Sweetpad é uma extensão poderosa que permite compilar, executar e depurar seus projetos Swift direto no Cursor, sem abrir mão dos recursos do Xcode. Para começar com a Sweetpad, você ainda vai precisar ter o Xcode instalado no seu Mac — é a base do desenvolvimento em Swift. Você pode baixar o Xcode na Mac App Store. Depois que o Xcode estiver configurado, bora turbinar sua experiência de desenvolvimento no Cursor com algumas ferramentas essenciais. Abre seu terminal e roda:
# Compila seus projetos sem precisar do Xcode aberto
brew install xcode-build-server

# Formata bonitinho 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
Em seguida, instala a extensão Swift Language Support no Cursor. Isso já te dá highlight de sintaxe e recursos básicos de linguagem logo de cara. Depois, a gente pode instalar a extensão Sweetpad para integrar o Cursor com o Xcode. A Sweetpad envolve um monte de atalhos em torno da CLI xcodebuild (e muito mais) e permite escanear seus targets, selecionar o destino, compilar e rodar seu app exatamente como no Xcode. Além disso, ela configura seu projeto para o Xcode Build Server, assim você aproveita todos os recursos mencionados acima.

Uso da Sweetpad

Quando a Sweetpad estiver instalada e você 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 seu projeto que permite ao Xcode Build Server trabalhar com ele. Depois, tanto pelo Command Palette quanto pela sidebar da Sweetpad, você pode selecionar o target que quer compilar e rodar.
Você precisa compilar seu projeto uma vez para habilitar autocompletar, ir para definição e outros recursos de linguagem.
Você também pode apertar F5 para compilar e rodar seu projeto com um debugger — talvez precise criar uma configuração de launch antes, mas é só selecionar Sweetpad na lista quando for solicitado! Como em muitas extensões no Cursor, você pode associar vários comandos da Sweetpad a atalhos de teclado pra deixar seu fluxo ainda mais eficiente. Pra saber mais sobre a Sweetpad, dá uma olhada nesses recursos: