Kısa cevap: Çoğu geliştirici için VS Code en dengeli başlangıç noktası; eklenti ekosistemi geniş, kurulumu dakikalar sürüyor ve hem web hem sistem projelerinde iş görüyor. Sublime Text'i büyük log dosyalarını açarken, çok satırlı düzenleme yaparken ve makinem yorgunken tercih ediyorum. Vim ise terminalden çıkmadan çalışmayı seviyorsan ya da uzak sunucularda düzenleme yapıyorsan neredeyse zorunlu bir beceri. Yani metin editörü ve ide seçimi tek bir kazanan üzerinden değil, günlük iş akışın üzerinden çözülüyor.
Yıllar içinde birkaç editör denedim; bazılarını iki gün sonra sildim, bazıları hâlâ makinemde duruyor. Kalanların ortak özelliği şu: sana bir çalışma biçimi dayatmak yerine, senin çalışma biçimine uyum sağlıyorlar. VS Code eklentiyle, Sublime Text sadelikle, Vim de tuş dili ve yapılandırma dosyasıyla bunu yapıyor.
Burada bir ayrımı netleştirmek istiyorum: metin editörü ile tam teşekküllü IDE aynı şey değil. IDE'ler (IntelliJ, Visual Studio, Xcode gibi) derleyici, hata ayıklayıcı, proje şablonu ve refactor araçlarını kutudan çıkarır. Editörler ise bu yetenekleri eklentiyle kazanır. VS Code tam da bu iki dünyanın arasında duruyor; bu yüzden bu kadar yaygın.
| Ölçüt | VS Code | Sublime Text | Vim / Neovim |
|---|---|---|---|
| Öğrenme eğrisi | Düşük | Düşük | Yüksek (ilk hafta zor) |
| Açılış hızı | Orta | Çok hızlı | Anında |
| Bellek kullanımı | Yüksek | Düşük | Çok düşük |
| Hata ayıklayıcı | Yerleşik, olgun | Eklentiyle, sınırlı | Eklentiyle kurulabilir |
| Git entegrasyonu | Görsel, güçlü | Temel düzeyde | Eklentilerle çok güçlü |
| Uzak sunucuda çalışma | Uzantıyla mümkün | Zayıf | Doğal ortamı |
| Lisans | Ücretsiz | Ücretli lisans, süresiz deneme | Ücretsiz, açık kaynak |
Yeni bir dile geçtiğimde ilk açtığım şey VS Code oluyor. Dil sunucusunu kuruyorum, otomatik tamamlama ve tanıma gitme çalışıyor, hata ayıklayıcıyı üç satır yapılandırmayla bağlıyorum. Takım içinde ortak ayar dosyası paylaşmak da kolay; yeni gelen biri aynı biçimlendirme kurallarıyla başlıyor.
Bedeli şu: eklenti sayısı arttıkça açılış süresi ve bellek tüketimi belirgin şekilde büyüyor. 8 GB bellekli bir makinede tarayıcı, Docker ve VS Code'u birlikte çalıştırdığımda sistem zorlanıyordu. Bu tür durumlarda depolama ve bellek tarafındaki kararlar da devreye giriyor; disk hızının iş akışına etkisini merak ediyorsan HDD ile SSD arasındaki farkı anlattığımız yazı iyi bir başlangıç.
Sublime Text'i hiç bırakamadığım tek bir sebep var: 200 MB'lık bir log dosyasını açtığımda takılmıyor. Çoklu imleç ve "goto anything" özelliği kas hafızama işlemiş durumda; hızlı bir arama-değiştir işi için başka bir şey açmıyorum.
Eksisi, modern dil sunucusu desteğinin VS Code kadar sorunsuz kurulmaması ve topluluk eklentilerinin daha küçük bir çevrede geliştirilmesi. Büyük bir kurumsal projede refactor yapacaksan tek başına yetmeyebilir. Ama editörün "yardımcı araç" olarak yanında durması bile değerli.
İlk iki haftam kâbustu, bunu dürüstçe söylüyorum. Sonra bir şey oldu: elimi klavyeden kaldırmadan düzenleme yapmak, düşünmeyi kesintiye uğratmamaya başladı. Bugün sunucuya bağlandığımda yapılandırma dosyasını düzenlemek için başka bir yol aramıyorum.
Vim'in en gerçekçi avantajı her yerde bulunmasıdır. Uzak makinede, konteynerde, kısıtlı bir ortamda karşına çıkacak. Neovim ile birlikte modern dil sunucusu desteği ve eklenti yönetimi de oldukça olgunlaştı; ancak bu kurulumu sen yapıyorsun. Zaman ayırmaya istekli değilsen bu yol yorucu gelir.
Benim yerleştiğim düzen şu: ana i