# Cursor AI: AI-First Kod Editörü ile 10x Verimlilik
Yazılım geliştirmede AI devriminin en somut etkisini kod editörlerinde görüyoruz. Cursor, VS Code'un bir fork'u olarak başladı ama çok kısa sürede "AI-first IDE" kategorisini tek başına yarattı. Tab completion, Composer modu, multi-file editing ve proje bağlamını anlayan zeka ile Cursor, geliştiricilerin verimliliğini dramatik şekilde artırıyor. Eğer hâlâ vanilla VS Code veya sadece GitHub Copilot kullanıyorsan, bu yazı senin için bir dönüm noktası olabilir.
💡 Pro Tip: Cursor'ın en güçlü özelliği Composer modu. Cmd+I ile açtığında, doğal dilde bir değişiklik tarif ediyorsun ve Cursor birden fazla dosyayı aynı anda düzenliyor. Tek bir komutla 10+ dosyada tutarlı değişiklik yapabilirsin. Bu, özellikle refactoring ve yeni özellik ekleme süreçlerinde inanılmaz zaman kazandırır.
İçindekiler
- Cursor Nedir ve Neden Farklı?
- Temel Özellikler
- Tab Completion: Akıl Okuyan Otomatik Tamamlama
- Composer: Multi-File AI Editing
- .cursorrules: Projeye Özel AI Davranışı
- Cursor vs GitHub Copilot vs Windsurf
- Verimlilik İpuçları ve İleri Teknikler
- Mobil Geliştirme ile Cursor
- Sonuç ve Öneriler
1. Cursor Nedir ve Neden Farklı?
Cursor, Anysphere şirketinin geliştirdiği AI-native bir kod editörüdür. VS Code'un fork'u olduğu için tüm VS Code extension'ları, tema'ları ve kısayolları ile uyumlu. Ancak üzerine eklenen AI katmanı, onu sıradan bir editörden çok farklı kılıyor.
Temel Bilgiler
Özellik | Detay |
|---|---|
**Geliştirici** | Anysphere Inc. |
**Çıkış** | 2023 |
**Temel** | VS Code fork |
**AI Modelleri** | GPT-4o, Claude 3.5 Sonnet, DeepSeek, özel modeller |
**Fiyat** | Hobby: $0 (sınırlı), Pro: $20/ay, Business: $40/ay |
**Platform** | macOS, Windows, Linux |
**Extension** | VS Code marketplace uyumlu |
Neden VS Code Yerine Cursor?
- Proje bağlamı anlıyor: Tüm codebase'i indeksliyor, ilişkili dosyaları buluyor
- Multi-file editing: Tek komutla birden fazla dosyayı düzenliyor
- Akıllı Tab: Sadece satır tamamlama değil, bağlamsal kod bloğu önerisi
- Chat entegrasyonu: Editörden ayrılmadan AI ile konuşabilme
- .cursorrules: Proje bazlı AI davranış kuralları tanımlama
Eğer terminal tabanlı bir AI geliştirme deneyimi arıyorsan, Claude Code IDE entegrasyonumuza da göz atabilirsin — VS Code ve JetBrains içinden doğrudan Claude ile çalışma imkanı sunuyor.
2. Temel Özellikler
Özellik Haritası
Özellik | Kısayol | İşlev |
|---|---|---|
**Tab** | Tab | Akıllı otomatik tamamlama (multi-line) |
**Cmd+K** | Cmd+K | Inline düzenleme (seçili kodu dönüştür) |
**Cmd+I** | Cmd+I | Composer (multi-file AI editing) |
**Cmd+L** | Cmd+L | Chat paneli (soru-cevap) |
**Cmd+Shift+L** | Cmd+Shift+L | Seçili kodu chat'e gönder |
**@ Mention** | @file, @docs | Bağlam ekleme (dosya, dokümantasyon) |
**Codebase** | @codebase | Tüm projeyi bağlam olarak ver |
Model Seçimi
Cursor, birden fazla AI modeli destekliyor:
typescript
1// Cursor'da model konfigürasyonu (Settings > Models)2interface CursorModelConfig {3 tabCompletion: 'cursor-small'; // Hızlı, local-ish model4 cmdK: 'gpt-4o' | 'claude-3.5-sonnet'; // Inline edit5 composer: 'claude-3.5-sonnet'; // Multi-file edit (en iyi)6 chat: 'gpt-4o' | 'claude-3.5-sonnet' | 'deepseek-r1'; // Soru-cevap7}8 9// Öneri: Görev tipine göre model seç10const modelStrategy = {11 hizliTamamlama: 'cursor-small', // Tab — hız öncelikli12 kodDuzenleme: 'claude-3.5-sonnet', // Cmd+K — kalite öncelikli13 cokluDosya: 'claude-3.5-sonnet', // Composer — bağlam öncelikli14 arastirma: 'deepseek-r1', // Chat — reasoning öncelikli15};3. Tab Completion: Akıl Okuyan Otomatik Tamamlama
Cursor'ın Tab completion'ı GitHub Copilot'tan bir adım ötede. Sadece mevcut satırı tamamlamakla kalmıyor, bir sonraki birkaç satırı da öngörüyor.
Tab vs Copilot Farkı
swift
1// Cursor Tab — bağlamı anlıyor2// Diyelim ki bir Swift projede UserService yazdın3// Tab şunu önerecek:4 5class UserService {6 private let repository: UserRepository7 private let validator: UserValidator8 private let cache: UserCache // Tab: önceki pattern'den çıkarım9 10 init(11 repository: UserRepository,12 validator: UserValidator,13 cache: UserCache // Tab: init parametreleri otomatik14 ) {15 self.repository = repository16 self.validator = validator17 self.cache = cache // Tab: assignment pattern18 }19 20 // Tab: CRUD pattern'ini anlıyor21 func getUser(id: String) async throws -> User {22 // Tab: önce cache kontrol, sonra repository pattern'i önerir23 if let cached = await cache.get(id) {24 return cached25 }26 let user = try await repository.fetch(id)27 await cache.set(id, user)28 return user29 }30}Tab İpuçları
- Kabul: Tab tuşu ile tüm öneriyi kabul et
- Kısmi kabul: Cmd+Right Arrow ile kelime kelime kabul et
- Reddet: Escape veya yazmaya devam et
- Birden fazla öneri: Alt+] ile sonraki öneriyi gör
💡 Pro Tip: Tab completion kalitesini artırmak için proje kökünde .cursorrules dosyası oluştur. Model, bu dosyadaki kuralları her öneride dikkate alır. Örneğin "Swift projelerinde guard let tercih et, force unwrap kullanma" gibi kurallar ekleyebilirsin.4. Composer: Multi-File AI Editing
Composer, Cursor'ın en güçlü ve farklılaştıran özelliği. Cmd+I ile açılan Composer modu, doğal dilde talimat vererek birden fazla dosyayı aynı anda düzenlemeyi sağlıyor.
Composer Kullanım Senaryoları
swift
1// Senaryo 1: Yeni özellik ekleme2Prompt: "UserProfile'a avatar yükleme özelliği ekle.3Firebase Storage kullan, 5MB limit, image compression uygula.4UserProfileView, UserProfileViewModel, StorageService ve5FirebaseConfig dosyalarını güncelle."6 7// Cursor Composer çıktısı:8// ✓ StorageService.swift — uploadAvatar() eklendi9// ✓ UserProfileViewModel.swift — avatarURL state + uploadAvatar action10// ✓ UserProfileView.swift — PhotosPicker + progress indicator11// ✓ FirebaseConfig.swift — Storage bucket URL eklendi12// ✓ Info.plist — NSPhotoLibraryUsageDescription eklendi13 14// Senaryo 2: Refactoring15Prompt: "Bu projedeki tüm network çağrılarını URLSession'dan16async/await pattern'ine geçir. Error handling ekle."17 18// Cursor 15+ dosyayı aynı anda güncelliyorComposer Best Practices
Strateji | Açıklama | Örnek |
|---|---|---|
**Spesifik ol** | Ne istediğini net söyle | "Firebase Auth ekle" ✓ / "Login yap" ✗ |
**Dosya belirt** | Hangi dosyaları değiştireceğini söyle | "@UserService.swift @UserView.swift" |
**Bağlam ekle** | İlgili dosyaları @ ile etiketle | "@docs/api-spec.md" |
**Aşamalı ilerle** | Büyük görevi adımlara böl | Önce model, sonra view, sonra test |
**Review et** | Her Composer çıktısını gözden geçir | Diff view ile kontrol et |
Bu yaklaşım Swift Async/Await migration'ları gibi büyük refactoring işlerinde hayat kurtarıyor.
5. .cursorrules: Projeye Özel AI Davranışı
.cursorrules dosyası, Cursor'ın AI modellerine proje-spesifik talimatlar veren güçlü bir konfigürasyon mekanizması.
iOS Projesi İçin .cursorrules Örneği
markdown
1# .cursorrules — iOS Project2 3## Kod Stili4- Swift 6 strict concurrency kullan5- guard let tercih et (if let yerine)6- Force unwrap (!) YASAK7- any keyword yerine some kullan (opaque types)8- Protocol-oriented programming tercih et9 10## Mimari11- MVVM + Coordinator pattern12- Repository pattern ile data access13- Dependency Injection (constructor injection)14- async/await tercih et (Combine yerine)15 16## Naming17- camelCase (değişken, fonksiyon)18- PascalCase (type, protocol)19- SCREAMING_SNAKE_CASE (global constant)20- Boolean: is/has/should prefix21 22## Test23- Her public method için unit test yaz24- XCTest + Swift Testing framework25- Mock'lar için protocol-based abstraction26- async test için await destekli assertion27 28## Erişilebilirlik29- Her UI element'e accessibilityLabel ekle30- VoiceOver navigasyonu düşün31- Dynamic Type destekle32- Minimum touch target: 44x44ptFlutter Projesi İçin .cursorrules
markdown
1# .cursorrules — Flutter Project2 3## Kod Stili4- Dart 3.0+ null safety strict5- const constructor tercih et6- final keyword varsayılan (mutable gerekmedikçe)7- Effective Dart guidelines takip et8 9## Mimari10- BLoC pattern (flutter_bloc)11- Repository pattern ile data katmanı12- Freezed ile immutable state modelleri13- Injectable ile dependency injection14 15## Widget16- StatelessWidget tercih et17- Key parametresi düşün18- const widget'lar mümkünse const19- build() metodu 50 satırı geçmesin — extract etBu dosya, Flutter Clean Architecture prensiplerine uygun kod üretilmesini sağlıyor.
6. Cursor vs GitHub Copilot vs Windsurf
Kapsamlı Karşılaştırma
Özellik | Cursor | GitHub Copilot | Windsurf |
|---|---|---|---|
**Tab Completion** | Çok iyi (multi-line) | İyi | İyi |
**Chat** | Evet (çoklu model) | Evet (GPT-4o) | Evet |
**Multi-file Edit** | Composer (en iyi) | Workspace (yeni) | Cascade |
**Codebase Bağlamı** | @codebase (derin) | @workspace (yeni) | Otomatik |
**Custom Rules** | .cursorrules | Sınırlı | .windsurfrules |
**Model Seçimi** | GPT-4o, Claude, DeepSeek | GPT-4o | Claude, GPT-4o |
**VS Code Uyum** | %100 (fork) | Extension | Ayrı IDE |
**Fiyat (Pro)** | $20/ay | $10/ay | $15/ay |
**Offline** | Hayır | Hayır | Hayır |
**Privacy Mode** | Evet (kodu sunucuya göndermeme) | Evet (Business) | Evet |
Fiyat-Performans Analizi
Plan | Cursor Pro | Copilot Individual | Windsurf Pro |
|---|---|---|---|
**Aylık** | $20 | $10 | $15 |
**Yıllık** | $192 ($16/ay) | $100 ($8.33/ay) | $144 ($12/ay) |
**Fast requests** | 500/ay | Sınırsız | 300/ay |
**Slow requests** | Sınırsız | — | Sınırsız |
💡 Pro Tip: Cursor Pro planında "fast request" biterse slow request'e düşüyorsun ama hâlâ kullanabiliyorsun. Eğer ağırlıklı olarak Tab completion kullanıyorsan, fast request yeterli. Composer'ı yoğun kullanıyorsan, Business plan düşünebilirsin. Maliyet analizi yaparken, kazandığın zamanın değerini düşün — günde 1 saat tasarruf bile aylık $20'ı fazlasıyla karşılar.
7. Verimlilik İpuçları ve İleri Teknikler
Kısayol Cheat Sheet
swift
1# Günlük Kullanım2Tab → Otomatik tamamlama kabul3Cmd+K → Inline edit(seçili kod üzerinde)4Cmd+I → Composer(multi-file edit)5Cmd+L → Chat paneli aç/kapat6Cmd+Shift+L → Seçili kodu chat'e gönder7Cmd+Enter → Chat'te @ ile codebase arama8 9# İleri Seviye10@file → Belirli dosyayı bağlam olarak ekle11@docs → Harici dokümantasyon ekle12@codebase → Tüm projeyi bağlam olarak ver13@web → Web'den bilgi çek14@git → Git geçmişini bağlam olarak ekle15 16# Composer Özel17Cmd+Enter → Composer'da komutu çalıştır18Cmd+Z → Composer değişikliklerini geri al(undo)19Accept All → Tüm önerilen değişiklikleri kabul et20Reject All → Tüm değişiklikleri reddetİleri Teknikler
typescript
1// Teknik 1: Bağlam mühendisliği — doğru @ kullanımı2// KÖTÜ: "Bu kodu düzelt" (hangi kodu?)3// İYİ: "@UserService.swift @UserRepository.swift Bu servisteki4// cache invalidation bug'ını düzelt"5 6// Teknik 2: Aşamalı Composer kullanımı7// Adım 1: "interface/protocol tanımlarını oluştur"8// Adım 2: "implementasyonları yaz"9// Adım 3: "unit testleri ekle"10 11// Teknik 3: Chat ile araştır, Composer ile uygula12// Chat: "Bu projede error handling nasıl yapılmış? Pattern ne?"13// Composer: "Aynı error handling pattern'ini PaymentService'e uygula"8. Mobil Geliştirme ile Cursor
Cursor, özellikle iOS ve Flutter geliştirmede güçlü bir araç. İşte bazı mobil-spesifik kullanım alanları:
iOS Geliştirme
- SwiftUI view'lar: Composer ile ekran tasarımlarını hızla oluştur
- ViewModel'ler: Tab completion MVVM pattern'ini çok iyi anlıyor
- Test yazma: "Bu ViewModel için unit test yaz" — Composer tüm edge case'leri kapsıyor
- Localization: String catalog'larını birden fazla dil için oluştur
Flutter Geliştirme
- Widget ağacı: Nested widget'ları doğru şekilde oluşturuyor
- BLoC pattern: Event, State, Bloc dosyalarını tutarlı üretiyor
- Platform-specific kod: iOS ve Android'e özel implementasyonlar
Bu özellikler iOS Testing Strategies ve Flutter Clean Architecture ile doğrudan uyumlu çalışıyor.
9. Sonuç ve Öneriler
Cursor AI, yazılım geliştirme aracı kategorisinde bir paradigma değişimi. Tab completion, Composer ve .cursorrules ile geliştirici verimliliğini 3-5x artırma potansiyeline sahip. GitHub Copilot daha ucuz ve basit bir alternatif sunarken, Cursor özellikle multi-file editing ve proje bağlamı anlama konusunda açık farkla önde. Daha otonom bir çözüm arıyorsan Devin AI incelememize, MCP protokolü ile araç entegrasyonu konusunda ise Claude Code MCP rehberimize göz atmanı öneririz.
Aksiyon Planı
- Bugün: Cursor'ı indir, VS Code ayarlarını import et
- Bu hafta: .cursorrules dosyası oluştur, Tab ve Cmd+K'yı günlük iş akışına dahil et
- Bu ay: Composer ile büyük refactoring görevlerini dene
- Bu çeyrek: Tüm takımı Cursor'a geçir, ortak .cursorrules oluştur
Kaynaklar
ALTIN İPUCU
Bu yazının en değerli bilgisi
Bu ipucu, yazının en önemli çıkarımını içeriyor.
Easter Egg
Gizli bir bilgi buldun!
Bu bölümde gizli bir bilgi var. Keşfetmek ister misin?
Okuyucu Ödülü
Tebrikler! Bu yazıyı sonuna kadar okuduğun için sana özel bir hediyem var:

