Visual Studio 18.9 ile Git Submodules Artık IDE’de
Git submodules ile çalışan geliştiricilerin çoğunun bu özellikle karışık bir ilişkisi vardır. Ortak bir kütüphaneyi, bir SDK’yı ya da paylaşılan derleme betiklerini projeye dahil etmenin pratik bir yolu olsa da günlük kullanımda iş akışını çoğu zaman komut satırına taşımayı gerektirir. git submodule update --init mı, --init --recursive mı gerektiğini hatırlamaya çalışırken IDE ekranın öteki tarafında bekler. Visual Studio 18.9 ile bu deneyim değişiyor: Git submodules artık IDE’nin birinci sınıf bir parçası ve bağımlılıkları düzenli tutmak için terminale geçmek gerekmiyor.
Bu özellik, Git tarafında uzun süredir en çok talep edilen eklemelerden biriydi. Microsoft, Developer Community üzerindeki özellik kaydına gelen geri bildirimlerin bu adımın atılmasında belirleyici olduğunu belirtiyor.
Submodules artık Git arayüzünün doğal bir parçası
Önceden submodules klasörü IDE için bir tür kör noktaydı. Yeni sürümle durum değişiyor:
- Git Repository penceresinde artık ayrı bir Submodules bölümü var.
- Submodule değişiklikleri Git Changes penceresinde uygun biçimde görüntüleniyor.
- Dal (branch) ve depo seçicileri, ana depo ile submodule’ler arasındaki ilişkiyi doğru okuyor.
Böylece submodule’ler ana deponun bir uzantısı gibi değil, bilinçli yönetilen bileşenler olarak görünüyor. Kullanıcı hangi depoda olduğunu, hangi dalda çalıştığını ve hangi değişikliklerin hangi bileşene ait olduğunu tek bakışta ayırt edebiliyor.
Ekleme, güncelleme ve silme işlemleri IDE içinde
Yeni Submodules bölümü, temel yönetim işlemlerini doğrudan IDE üzerinden yapmayı mümkün kılıyor. Bir submodule eklemek, güncellemek veya kaldırmak için komut satırındaki bayrakları hatırlamaya ya da ayrı bir terminal penceresine geçmeye gerek yok; tüm bu işlemler Git Repository penceresinden yürütülebiliyor.
Bir çözüm (solution) ya da klasör açıldığında Visual Studio submodule’leri otomatik olarak keşfediyor ve etkinleştiriyor. Aynı zamanda bu depoların ana yerel depo listesine karışmamasına özen gösteriliyor; böylece depo seçicisi (repo picker) gereksiz yere kalabalıklaşmıyor ve navigasyon sade kalıyor.
Varsayılan olarak salt okunur mod
Submodule’lerin çoğu senaryodaki kullanım amacı, bağımlılığı düzenlemek değil ondan yararlanmaktır. Visual Studio da bu gerçeği yansıtacak biçimde submodule’leri varsayılan olarak salt okunur (read-only) kabul ediyor. Bu yaklaşım, yalnızca referans olarak kullanılan bir bağımlılığın içine yanlışlıkla değişiklik commit etmeyi engellemeye yönelik bir güvence.
Bir submodule üzerinde gerçekten çalışmak gerektiğinde bu davranış tek bir ayarla değiştirilebiliyor:
- Tools > Options > Source Control > Git yolunu izleyin.
- Automatically activate multiple repositories seçeneğini bulun.
- Yes, include submodules değerini seçin.
Bu ayar etkinleştirildiğinde submodule’ler yalnızca izlenen bileşenler olmaktan çıkıyor, aktif biçimde düzenlenebilir depolara dönüşüyor. Kullanıcı, ihtiyacına göre iki mod arasında geçiş yapabiliyor.
İlk adım, son nokta değil
Microsoft bu sürümü submodule desteğinin ilk kilometre taşı olarak tanımlıyor. Mevcut yetenekler günlük iş akışının çekirdek ihtiyaçlarını karşılamayı hedefliyor; yol haritası burada bitmiyor. Sonraki sürümlerde eklenecek yeteneklerin büyük ölçüde kullanıcı geri bildirimlerine göre şekilleneceği vurgulanıyor.
Geri bildirim vermek isteyen geliştiriciler için iki temel kanal öne çıkıyor: Developer Community üzerindeki özellik kaydına yorum bırakmak ve karşılaşılan bir hatayı iletmek için Visual Studio içindeki Report a Problem aracını kullanmak. Bu araç, ekibe ulaşmanın en hızlı yolu olarak öneriliyor.
Neden önemli?
Submodule yönetiminin IDE içine taşınması bir “kolaylık” özelliğinden fazlasını ifade ediyor. Terminal ile IDE arasında gidip gelmek bağlam kaybına ve küçük ama sinir bozucu hatalara (yanlış dizinde komut çalıştırmak, yanlış bayrağı seçmek, yanlış submodule’ü güncellemek gibi) yol açabiliyor. Görsel bir arayüzde submodule’lerin durumunu, değişikliklerini ve dallarını görebilmek, yeni başlayanlar için öğrenme eğrisini yumuşatırken deneyimli geliştiriciler için hata payını azaltıyor.
Salt okunur varsayılan davranış da benzer bir mantıkla değerlendirilebilir. Submodule’lerin nasıl çalıştığını iyi bilmeyen ekiplerde bağımlılık deposuna yanlışlıkla yapılan commit’ler ciddi entegrasyon sorunlarına yol açabiliyor. Visual Studio bu senaryoyu varsayılan yapılandırmayla önlerken, isteyene tek anahtarla geniş yetki tanıyor.
Kimler için uygun?
Kaynağa göre bu yenilik şu profillere hitap ediyor:
- Ortak bir SDK veya kütüphaneyi birden fazla projede submodule olarak paylaşan ekipler.
- Derleme betiklerini merkezi bir depoda tutup projelerine dahil eden geliştiriciler.
- Git submodule komutlarını sık kullanmadığı için parametreleri hatırlamakta zorlanan kullanıcılar.
- Terminal ile IDE arasında geçiş yapmadan tek bir arayüzde çalışmayı tercih eden geliştiriciler.
Visual Studio 18.9 ile gelen bu değişiklik, Git desteğinin IDE içindeki olgunluk düzeyini yükseltmeye yönelik somut bir adım. Submodule’leri düzenli tutmak, ayrı bir zihinsel yük olmaktan çıkıp mevcut Git akışının doğal bir parçası hale geliyor.
Kaynaklar ve İleri Okuma
- Managing Git Submodules without leaving the IDE — Visual Studio Blog
- Developer Community: Full Git submodule support özellik kaydı
- Visual Studio’da bir sorunu bildirme
- Visual Studio Blog
- Visual Studio 18.9 C++ İndeksleme: WCI ile 2 Kat Hızlı Kod
- Visual Studio Build 2026: Ajanlar, Modernizasyon ve Yeni Akış






Yorum gönder