Cursor’da Swift geliştirmeye hoş geldin! iOS uygulamaları, macOS uygulamaları ya da sunucu tarafı Swift projeleri geliştiriyor ol, yanındayız. Bu rehber, temellerden başlayıp daha gelişmiş özelliklere geçerek Cursor’da Swift ortamını kurmana yardımcı olacak.

Temel Çalışma Akışı

Cursor’ı Swift ile kullanmanın en kolay yolu, onu birincil kod editörün olarak kullanıp uygulamalarını derlemek ve çalıştırmak için Xcode’dan yararlanmaya devam etmek. Şu gibi harika özellikler elde edersin:
  • Akıllı kod tamamlama
  • Yapay zekâ destekli kodlama desteği (herhangi bir satırda CMD+K dene)
  • @Docs ile belgelere hızlı erişim
  • Sözdizimi vurgulama
  • Temel kod gezinme
Uygulamanı derlemen veya çalıştırman gerektiğinde sadece Xcode’a geç. Bu çalışma akışı, hata ayıklama ve dağıtım için alışık olduğun Xcode araçlarını kullanırken Cursor’ın yapay zekâ yeteneklerinden yararlanmak isteyen geliştiriciler için ideal.

Hot Reloading

Xcode çalışma alanları veya projeleri kullanırken (Xcode’da bir klasörü doğrudan açmak yerine), Xcode bazen Cursor’da ya da genel olarak Xcode dışında yapılan dosya değişikliklerini görmezden gelebilir. Bunu çözmek için klasörü Xcode’da açabilsen de, Swift geliştirme çalışma akışın için bir projeye ihtiyaç duyabilirsin. Buna harika bir çözüm, Swift için bir hot reloading kütüphanesi olan ve uygulamanın değişiklikler yapılır yapılmaz gerçek zamanlı olarak “hot reload” edip güncellenmesini sağlayan Inject’i kullanmak. Bu yaklaşım, Xcode çalışma alanı/proje sorunlarının yan etkilerinden etkilenmez ve Cursor’da yaptığın değişikliklerin uygulamanda anında görünmesini sağlar.

İleri Seviye Swift Geliştirme

Bu bölüm, Thomas Ricouard ve iOS geliştirme için Cursor kullanımıyla ilgili makalesinden büyük ölçüde ilham alınarak hazırlandı. Daha fazla ayrıntı için makalesine göz at ve daha fazla Swift içeriği için onu takip et.
Aynı anda yalnızca tek bir editörü açık tutmak ve Xcode’la Cursor arasında gidip gelmekten kaçınmak istiyorsan, Cursor’ı doğrudan Xcode’un temel derleme sistemine entegre etmek için Sweetpad gibi bir uzantı kullanabilirsin. Sweetpad, Xcode’un özelliklerinden ödün vermeden Swift projelerini doğrudan Cursor’da derlemeni, çalıştırmanı ve hata ayıklamanı sağlayan güçlü bir uzantıdır. Sweetpad ile başlamadan önce, Mac’inde Xcode kurulu olmalı — Swift geliştirmenin temeli bu. Xcode’u Mac App Store üzerinden indirebilirsin. Xcode’u kurduktan sonra Cursor’daki geliştirme deneyimini birkaç önemli araçla güçlendirelim. Terminalini aç ve şunu çalıştır:
# Xcode açık olmadan projelerini derler
brew install xcode-build-server

# `xcodebuild` komut çıktısını Cursor’un terminalinde okunaklı biçimde gösterir
brew install xcbeautify

# Gelişmiş biçimlendirme ve dil özellikleri sağlar
brew install swiftformat
Ardından Cursor’a Swift Language Support uzantısını kur. Bu, kutudan çıktığı gibi sözdizimi vurgulama ve temel dil özellikleri sağlar. Sonrasında, Cursor’ı Xcode ile entegre etmek için Sweetpad uzantısını kurabiliriz. Sweetpad, xcodebuild CLI’ının (ve daha fazlasının) etrafına bir dizi kısayol sarar ve hedeflerini taramana, hedef ortamı seçmene, uygulamanı derleyip çalıştırmana Xcode’daki gibi olanak tanır. Buna ek olarak, Xcode Build Server için projeni ayarlar; böylece yukarıda bahsi geçen tüm özellikleri kullanırsın.

Sweetpad Kullanımı

Sweetpad kurulduktan ve Cursor’da bir Swift projesi açtıktan sonra, önce Sweetpad: Generate Build Server Config komutunu çalıştırmalısın. Bu, projenin kök dizininde Xcode Build Server’ın projeyle çalışmasını sağlayan bir buildServer.json dosyası oluşturur. Ardından, Komut Paleti’nden veya Sweetpad kenar çubuğundan derleyip çalıştırmak istediğin hedefi seçebilirsin.
Otomatik tamamlama, tanıma git ve diğer dil özelliklerini etkinleştirmek için projeni bir kez derlemen gerekiyor.
Artık F5’e basarak projeni hata ayıklayıcıyla derleyip çalıştırabilirsin — önce bir launch yapılandırması oluşturman gerekebilir; istendiğinde listeden Sweetpad’i seçmen yeterli! Cursor’daki birçok uzantıda olduğu gibi, Sweetpad komutlarının çoğunu klavye kısayollarına bağlayarak iş akışını daha da verimli hale getirebilirsin. Sweetpad hakkında daha fazla bilgi için şu kaynaklara göz at: