Mert Özen Her Satırda Daha İleri
Geliştirici Araçları IDE'ler — #10

IDE'lerde Neler Değişti: Visual Studio 2022'den 2026'ya, Rider ve VS Code'un 2025–2026 Yenilikleri

Mert Özen 8 Kas 2026 10 dk 4 görüntülenme
IDE'lerde Neler Değişti: Visual Studio 2022'den 2026'ya, Rider ve VS Code'un 2025–2026 Yenilikleri

IDE güncellemesi build'inizi sessizce yeni SDK'ya taşımasın diye repo'da global.json olmalı; gerçek koşuda latestPatch 10.0.402'yi seçti, kurulu olmayan 11.0.100 ise exit code 155 ile durdu. Visual Studio 2026 GA'sı ve 18.0'dan 18.11'e aylık güncellemeler, Rider 2025.3'ten 2026.3 EAP'ye, VS Code'un haftalık sürümlere ve agent pencerelerine geçişi, .NET 11 RC3 ile IDE destek durumu ve geçiş kontrol listesi.

Sürüm notu: Bu yazıdaki komutlar .NET 10 SDK (Software Development Kit) 10.0.402 ile denenmiştir. Visual Studio 2026 ve Rider bu makinede (macOS) çalıştırılmadı; sürüm bilgileri 8 Kasım 2026 itibarıyla Microsoft Learn release notes'tan, JetBrains'in .NET Tools blog'undan ve Visual Studio Code (VS Code) güncelleme notlarından derlendi. Bu yazı yaşayan bir yazı: .NET 11'in 10 Kasım 2026'da çıkması bekleniyor ve IDE (Integrated Development Environment) destek durumu bölümü yayın anında güncellenmeli.

Önce Tahmin Et

Bookstore ekibi .NET 11 çıkar çıkmaz bir branch açıp denemek istiyor. Bir geliştirici Visual Studio 2026'yı güncelliyor, öbürü Rider kullanıyor, üçüncüsü VS Code'da. Aynı repo'da main .NET 10'da kalacak, deneme branch'i .NET 11'e geçecek. Sence repo'ya hangi dosyayı koymazsan, IDE güncellemesi main'in build'ini sessizce .NET 11 SDK'sına taşır? Ve o dosya makinede olmayan bir SDK isterse dotnet ne der?

Serinin son yazısında geriye bakıyoruz: Visual Studio 2022'den 2026'ya ne değişti, 18.x hattı bir yılda neler getirdi, Rider ve VS Code 2025 ve 2026'da nereye gitti, ve .NET 11 geçişi için IDE tarafında bir kontrol listesi.

Visual Studio 2026 GA: Ne Değişti

Visual Studio 2026, 11 Kasım 2025'te 18.0 ile, .NET 10 ile aynı gün genel kullanıma açıldı. Release notes'taki başlıklar:

Arayüz: Fluent UI (User Interface) tasarım sistemine geçiş, 11 renk tonlu tema, editörün görünümünü IDE temasından ayrı ayarlayan Editor Appearance ayarı ve yeniden çizilmiş ikonlar. Tools > Options'ın yerini alan yeni ayar deneyimi de bu sürümle başladı; 18.11'de Fonts and Colors da bu sisteme taşındı.

Performans: Microsoft, .NET 10 ile Visual Studio 2026'nın F5 ile başlatmada .NET 9 ile Visual Studio 2022'ye göre yüzde 30'a kadar daha hızlı olduğunu yazıyor. Bu bir vendor ölçümü ve kendi solution'ında aynı farkı göreceğin garanti değil; ölçmek istiyorsan aynı solution'da iki sürümü yan yana kurup kendi senaryonla karşılaştır.

Model: aylık feature update, IDE'nin build araçlarından ayrılması ve her Kasım yeni .NET ile gelen, önceki kurulumu yerinde güncelleyen yıllık sürüm (ikinci yazıda ayrıntılı). Professional, Enterprise ve Build Tools için Visual Studio 2026 LTSC (Long-Term Servicing Channel) Kasım 2026'da geliyor.

Extension'lar: Microsoft'un Ekim 2025 tarihli extension uyumluluk yazısına göre Visual Studio 2022 için yazılmış extension'ların güncelleme olmadan 2026'da çalışması bekleniyor; Visual Studio, extension'ın hedeflediği sürüm aralığının yalnız alt sınırına bakıyor. Kurulum sırasında 2022'deki extension'ların büyük kısmı taşınabiliyor, ama sekizinci yazıda dediğimiz gibi "çalışıyor" ile "bakılıyor" aynı şey değil.

18.x Hattı: Bir Yılda On Bir Feature Update

18.0'dan 18.11'e her ay bir feature update geldi. Aşağıdaki tablo bir .NET + Angular geliştiricisine dokunanları, release notes'taki tarihlerle özetliyor:

SürümTarihÖne çıkanlar
18.011 Kasım 2025Fluent UI ve temalar, yeni ayar deneyimi, Ctrl+P ile Code Search, Debugger Agent (unit test), Profiler Agent, Community ve Professional'da code coverage
18.19 Aralık 2025MCP (Model Context Protocol) kimlik doğrulama ve server yönetimi, Copilot ile breakpoint sorun giderme
18.213 Ocak 2026NuGet MCP Server, .NET için GitHub Copilot app modernization
18.310 Şubat 2026Kompakt Solution Explorer, Copilot memories, Hot Reload otomatik yeniden başlatma, Razor cohosting, NuGet audit kaynakları
18.410 Mart 2026JSON (JavaScript Object Notation) editörü Core Editor'de, custom agent'lar (.agent.md), kurumsal MCP allowlist'leri
18.514 Nisan 2026Agent skill'leri, issue'dan çözüme Debugger Agent, cloud agent
18.612 Mayıs 2026Planning mode, çok dosyalı özet diff, commit'leri chat'e ekleme
18.79 Haziran 2026Tema renk editörü, MCP trust validation, IDE içinde pull request review
18.814 Temmuz 2026Copilot SDK üzerine kurulu Agent (Preview), token kullanım takibi
18.911 Ağustos 2026Git worktree ve submodule desteği, Git agent ile review
18.108 Eylül 2026BYOK (Bring Your Own Key) preview, && ve || operand vurgusu, Podman container'larına attach
18.1113 Ekim 2026Numaralı tab kısayolları, Hot Exit, stop build on first failure, yeni Copilot chat (opt-in)

Debugger'daki küçük ama değerli bir değişiklik, 18.10'daki operand vurgusu: C# if ifadelerinde && ya da || ile birleşen koşullarda sonucu hangi operand'ın belirlediğini kırmızı ve yeşil vurguyla gösteriyor. "Bu if neden içeri girmedi" sorusu, dört operand'lı bir koşulda Watch penceresine tek tek yazmadan cevaplanıyor.

Insiders kanalında 18.12 (Ekim 2026 sonu) ufku gösteriyor: Solution Explorer'da repo'yu diskteki haliyle gösteren File System view, Close Tabs to the Right, Test Explorer'da string assertion'lar için yan yana diff, .editorconfig'teki max_line_length ve rulers için dikey kılavuzlar, Git çakışmalarını Copilot ile çözme ve yeni Copilot chat'in varsayılan olması. Bunlar Insiders'ta; Stable'a ne zaman geleceğini release notes'tan takip et.

Rider 2025.3'ten 2026.2'ye

Rider'ın yılda üç büyük sürümü, aynı dönemde şu çizgiyi izledi. 2025.3 (Kasım 2025), JetBrains'in sürüm yazısının başlığıyla ".NET 10 ve C# 14'e ilk gün desteği, yeni varsayılan UI ve daha hızlı başlangıç" getirdi. 2026.1 (30 Mart 2026) ACP (Agent Client Protocol) Registry ile agent'ları tek tıkla kurmayı, Git worktree'leri, proje dosyası olmadan tek dosyalık C# programlarını açıp çalıştırmayı, NuGet Package Manager Console'u (preview) ve JIT (Just-In-Time), ReadyToRun ve NativeAOT çıktısını gösteren ASM (Assembly) Viewer'ı ekledi. 2026.2 (22 Temmuz 2026) yedinci yazıda ayrıntılı: debugger başlatma ve branch değiştirmede hız, WPF (Windows Presentation Foundation) Hot Reload, yerleşik Copilot ve .NET agent skill'leri.

2026.3, 7 Eylül 2026'dan beri Early Access Program'da: bracket renklendirme (varsayılan kapalı), editörde sağ tıkla kurulan data breakpoint'ler ve code completion filtreleri ilk EAP (Early Access Program) yapısında. C# 15 açısından tablo şu: Microsoft, C# 15'in union anahtar kelimesini Nisan 2026'da .NET 11 Preview 2 ile duyurdu; Rider 2026.2'nin sürüm notlarında C# 15 için tam destek yok ve yazım anında 2026.3'ün final sürümü çıkmadı. .NET 11 ile Rider kullanacaksan 2026.3'ün sürüm notlarını bekle.

VS Code: Aylıktan Haftalığa, Editörden Agent Çalışma Alanına

VS Code'un 2026'daki en görünür değişikliği ritim: 1.111 (9 Mart 2026) ile Stable kanal haftalık sürüme geçti; 2025'teki aylık sürümlerin yerini haftalık sürümler aldı ve 4 Kasım 2026'da 1.145'e ulaşıldı. İçerik tarafında yön açık: 1.109'da integrated browser, 1.111'de agent permission seviyeleri ve Autopilot (preview), 1.120'de (13 Mayıs 2026) Stable'a gelen Agents window, 1.130'da agent host, 1.140'ta Dev Container içinde agent oturumları, 1.145'te farklı harness'ları aynı oturumda karıştırma ve cron ile automation. C# tarafında C# Dev Kit ile .NET 10 desteği sürüyor; JetBrains'in VS Code uyumlu editörler için ReSharper extension'ına 2026.2 ile debugger eklemesi de editör dünyasına ikinci bir C# motoru getirdi.

Haftalık ritmin pratik sonucu şu: VS Code'da bir özelliğin "hangi sürümde geldiği" bilgisi bir ay içinde dört sürüm eskiyebiliyor. Ekipte sürüm sabitlemek istiyorsan VS Code'un otomatik güncellemesini (update.mode) ve extension sürümlerini birlikte düşünmelisin.

.NET 11 ve C# 15 İçin IDE Desteği

.NET sürüm indeksine göre 8 Kasım 2026 itibarıyla .NET 11'in son yapısı 25 Ekim 2026 tarihli 11.0.0-rc.3; destek fazı "go-live", yani production'da kullanılabilir ama henüz GA (General Availability) değil. .NET 11 bir STS (Standard Term Support) sürümü; .NET 10 ise LTS (Long-Term Support). Microsoft .NET 11'i 10 Kasım 2026'da başlayan .NET Conf 2026'da yayımlayacağını duyurdu. Bu yazı yazılırken C# 15 özellikleri (ör. union) ancak preview SDK ve <LangVersion>preview</LangVersion> ile denenebiliyor; bu seri .NET 10 tabanlı olduğu için C# 15 kodu vermiyoruz.

IDE desteği bu tarihte doğrulanamadı: Visual Studio'nun Stable ve Insiders release notes'unda (18.11 ve 18.12 Insiders) .NET 11 desteğine dair bir satır yok, Rider 2026.3 henüz EAP'te, C# Dev Kit ise kurulu SDK'yı kullanıyor. Yayın anında üç kaynağı kontrol et: Visual Studio release notes, Rider 2026.3 sürüm yazısı ve .NET 11 sürüm notlarındaki "supported IDEs" bölümü.

Geçiş Kontrol Listesi: Yan Yana Kurulum ve global.json

Önce Tahmin Et'in cevabı global.json. IDE güncellemesi yeni bir SDK kurduğunda, repo'da global.json yoksa dotnet makinedeki en yeni SDK'yı seçer. Bu makinedeki SDK'lar:

$ dotnet --list-sdks
8.0.419 [/usr/local/share/dotnet/sdk]
10.0.103 [/usr/local/share/dotnet/sdk]
10.0.402 [/usr/local/share/dotnet/sdk]

main'i .NET 10'un 400 feature band'inde tutan dosya:

{
  "sdk": {
    "version": "10.0.400",
    "rollForward": "latestPatch"
  }
}
$ dotnet --version
10.0.402

latestPatch, 10.0.400 bandı içinde en yüksek patch'e (10.0.402) çıkar ama 10.0.500'e ya da 11.0'a geçmez. Deneme branch'inde global.json'u .NET 11'e çevirdiğimizde ve bu SDK makinede yokken:

{
  "sdk": {
    "version": "11.0.100",
    "rollForward": "latestFeature"
  }
}
$ dotnet --version
The command could not be loaded, possibly because:
  * You intended to execute a .NET application:
      The application '--version' does not exist or is not a managed .dll or .exe.
  * You intended to execute a .NET SDK command:
      A compatible .NET SDK was not found.

Requested SDK version: 11.0.100
global.json file: ./global.json

Install the [11.0.100] .NET SDK or update [./global.json] to match an installed SDK.
$ echo $?
155

Hata açık ve erken: build sessizce yanlış SDK ile değil, hiç çalışmıyor. IDE'ler de aynı dosyaya uyar; altıncı yazıda gördüğümüz C# Dev Kit'in "A compatible .NET SDK was not found" uyarısı tam olarak bu durum. RC (Release Candidate) gibi ön sürümleri denerken global.json'a "allowPrerelease": true eklemek gerekir. Kontrol listesinin tamamı:

  • IDE desteğini doğrula: Visual Studio 2026'nın .NET 11'i destekleyen sürümü, Rider 2026.3, C# Dev Kit'in güncel sürümü; sürüm notlarında .NET 11 ve C# 15 satırını gör.
  • SDK'yı yan yana kur: .NET SDK'ları aynı makinede birlikte yaşar; eski branch'ler global.json ile .NET 10'da kalır.
  • Visual Studio'yu kontrollü güncelle: yıllık sürüm yerinde güncelleme olacağı için kritik bir proje varsa Professional ve Enterprise'da LTSC'yi ya da güncellemeyi ikinci bir makinede denemeyi değerlendir.
  • CI (Continuous Integration) agent'larına yeni SDK'yı ekle ve global.json'a uyan sürümü kur; CI'daki SDK ile geliştirici makinesindeki SDK aynı band'de olsun.
  • Önce multi-target dene: <TargetFrameworks>net10.0;net11.0</TargetFrameworks> ile iki hedefte de derleyip testleri koştur.
  • Analyzer ve code style farkını izle: yeni SDK yeni analyzer kuralları getirebilir; dördüncü yazıdaki dotnet format --verify-no-changes ve build uyarıları CI'da farkı gösterir.
  • Dev Container image'ını ve Docker base image'larını da .NET 11 etiketine taşı; altıncı yazıdaki digest sabitleme burada da geçerli.

Üretimde Dikkat

IDE sürümü ile SDK sürümünü ayrı yönet. Visual Studio artık build araçlarından ayrıldığı için IDE'yi her ay güncellemek, projenin SDK'sını değiştirmek zorunda değil; bunu mümkün kılan global.json.

Vendor rakamlarını kendi ölçümünle doğrula. "Yüzde 30 daha hızlı başlatma" ya da "2,8 saniye daha hızlı debugger" gibi rakamlar vendor'ın kendi senaryosu; büyük bir kararın (IDE değiştirmek, lisans almak) gerekçesi olacaksa kendi solution'ında ölç.

Sürüm bilgisini tek yerde tut. Ekibin hangi IDE sürümünü, hangi SDK'yı, hangi extension sürümlerini kullandığını tek bir sayfada tut; bu seri boyunca gördüğümüz gibi her şey ayda bir, VS Code'da haftada bir değişiyor.

Sık Düşülen Tuzaklar

global.json koymamak. IDE güncellemesiyle gelen yeni SDK, kimse fark etmeden bütün ekibin build'ini değiştirir.

rollForward'u yanlış seçmek. latestMajor bir sonraki major sürüme kadar çıkar; main'i sabit tutmak istiyorsan latestPatch ya da latestFeature kullan.

RC SDK'sıyla allowPrerelease'i unutmak. Ön sürüm SDK kurulu olsa bile global.json buna izin vermiyorsa seçilmez.

IDE'nin desteğini doğrulamadan TargetFramework'ü değiştirmek. Derleyici yeni hedefi bilse bile IDE'nin dil servisi yeni dil özelliklerini tanımayabilir; editörde kırmızı çizgiler, build'de yeşil sonuç görürsün.

Vendor performans iddiasını tek başına karar gerekçesi yapmak. Ölçmeden "yeni sürüm daha hızlı" demek, ilk büyük solution'da hayal kırıklığına dönüşebilir.

Küçük Bir Deneme

★☆☆ Repo'na yukarıdaki gibi bir global.json ekle, dotnet --version çıktısını not et ve rollForward'u latestPatch, latestFeature ve latestMajor olarak değiştirip sonucu karşılaştır.

★★☆ .NET 11 SDK'sını (RC ya da GA) yan yana kur, ayrı bir branch'te global.json'u ve TargetFramework'ü değiştir, üç IDE'den (kuruluysa) projeyi aç ve hangisinin yeni sürümü sorunsuz tanıdığını not et.

★★★ Ekibin için bu yazıdaki kontrol listesini bir "IDE ve SDK sürüm politikası" sayfasına dönüştür: hangi IDE sürümü, hangi kanal, hangi SDK band'i, extension'lar nasıl sabitlenir, yeni sürüm ne zaman ve kim tarafından denenir.

Seri burada bitiyor. IDE seçiminden kısayollara, refactoring'den debug configuration'a, extension güvenliğinden AI (Artificial Intelligence) asistanlarına kadar üç aracı yan yana koyduk. Buradan sonra Debugging ve Problem Çözme serisi debugger'ın kendisine, ilerideki Terminal ve Command Line ile API (Application Programming Interface) Araçları serileri ise IDE'nin dışında kalan araçlara devam ediyor.