garen.yöndem launching ...3 ...2 ...1

Visual Studio Code

6. Aralık 2017 09:00by Garen Yöndem

Son yıllarda cross platform tool’larını ve platform bağımsız servislerini görmeye alıştığımız Microsoft bulunduğu konuma ulaşabilmek için çok çaba harcadı. Bu çabanın ürünlerinden biri Visual Studio Code olarak karşımızda. Visual Studio Code’un özelliklerinden bahsetmeye başlamadan önce her yazıda yaptığımız gibi hikayesine bakalım.


Visual Studio Code - garen.yondem.com


Microsoft 2014 yılında şimdiki adıyla Visual Studio Team Services olan Visual Studio Online’da Azure Websites için kullanılmak üzere kod adı Monaco olan in-browser code editörü yayınladı. Monaco’da git entegrasyonu ve cloud shell gibi Visual Studio Code’da göreceğimiz pek çok özellik bulunuyor.


Monaco, Visual Studio Online’in gelişimi için süper bir adım oldu. Source control, continues integration, applicaton lifecycle management tool’ları ve code editör bir araya geldi. O sırada in-browser code editörlerin trend olduğu ve pek çok alternatiflerin çıktığı bir dönem başlamıştı. Bu hype uzun sürmedi çünkü, tarayıcı temelli code editörlerin performans, güvenilirlik ve özelleştirilebilirlik konularında desktop editörlerin çok gerisinde kaldıkları görüldü.


Microsoft Windows haricindeki platformlarda developer’ların bilgisayarlarına kurabilecekleri bir ürün çıkarabilmek için Monaco’yu web’den desktop’a doğru transfer etti. Bu süreçte Microsoft yeni uygulama için, başarısını zaten Atom ile kanıtlamış olan Electron Framework’ü tercih etti. Electron javascript, html ve css ile yazılmış web uygulamanızı mevcut code base’in büyük kısmına dokunmadan macOS, Windows ve Linux ortamlarına taşıyabilmenizi sağlayan bir desktop uygulama framework’ü sunuyor. Electron’un NodeJS runtime’ı ve ara yüz engine’i olarak da Chromium’u kullandığını belirtmek gerek. Son olarak, VS Code’un source code’una Github’dan ulaşabileceğini hatırlatmama gerek yok sanırım.


Visual Studio Code - garen.yondem.com


VS Code üç yıldır hayatımızda ve gelişimi ivmelenerek devam ediyor. Kasım ayı başındaki Microsoft’un Connect(); ‘17 konferansında paylaşılan istatistiklere göre aylık aktif kullanıcı sayısı geçen yıl aynı döneme kıyasla %160 büyümeyle 2.6 milyonu geçti. Github’da ise 15bin kişi katkıda bulundu.


Çoklu Dil Desteği

Microsoft’un “any platform, any language, any developer” motto’suyla geliştirdiği VS Code ile aklınıza gelebilecek hemen her dilde development yapmak mümkün. Javascript, C#, Go, Python ve VB gibi popüler diller için hali hazırda desteği bulunuyor. Elm, Rust, Dart, Swift, R, Clojure, Scala, Kotlin, Erlang, Haskell, Lua ve Crystal dahil pek çok dil için ise Language Extension paketlerini kurmak gerekiyor. Listeye eklemediğim diğer dillerle beraber 35’ten fazla dil desteğinden bahsediyoruz.


Visual Studio Code - garen.yondem.com


IntelliSense

Visual Studio Dünya’nın en iyi IDE’lerinden biri ve en iyi IntelliSense’ine sahip. Bir framework’ün veya library’nin method’larına hakim olmanıza gerek kalmadan IntelliSense’i kullanarak ortaya çalışan programlar çıkartabilirsiniz. VS Code’da bu deneyimi cross-platform’a taşımayı başarmış durumda. Fakat yazdığınız dile ve kullandığınız dil extension’ına göre verimliliği değişiklik gösteriyor.


Visual Studio Code - garen.yondem.com


Typescript, NodeJS ve Python gibi popüler diller için oldukça verimli olmasına rağmen Rust gibi daha az popüler olan dillerde aynı verimi alamayabilirsiniz. Özellikle NodeJS development verimliliği konusunda VS Code uzun zamandır Visual Studio’nun ilerisinde. Ancak henüz .NET programlama dillerinde Visual Studio’nun eline su dökemeyeceğini de belirtmek lazım.


Debug

VS Code ile yukarıda bahsettiğimiz tüm dillerdeki projelerinizi breakpointler kullanarak kolaylıkla debug edebilirsiniz. Debugging’e başlamadan launch.json dosyasını düzenlemelisiniz. Bu dosyada VS Code’un debug konfigürasyonları yer alıyor. Launch.json’ı oluşturmak için debug menüsünden çark buton’una tıklamanız yeterli.


Visual Studio Code - garen.yondem.com


VS Code varsayılan ayarlar ile çalıştığınız dile uygun düzenlenmiş olarak dosyayı projenize ekleyecektir. Varsayılan ayarlar çoğu zaman yeterli olacaktır, ancak projeniz belli bir giriş noktası olan bir web servis projesi ise başlangıç dosyasını entry point aşağıdaki gibi belirtmeniz gerekecek.


Visual Studio Code - garen.yondem.com


Launch.json dosyasını oluşturup gerekli konfigürasyonları tamamladıktan sonra projenize uygun debugger’ı da seçerek debug etmeye başlayabilirsiniz. Kullandığınız dile uygun debugger’ı listede bulamıyorsanız Visual Studio Marketplace’ten extension olarak ekleyebilirsiniz. NodeJS, Python ve Chrome gibi marketplace’te en çok indirilen debuggerların bizzat Microsoft tarafından geliştirildiğini de belirteyim.


Visual Studio Code - garen.yondem.com


Git

İlk versiyondan itibaren VS Code entegre git desteğiyle geliyor. Mevcut projenizi VS Code’dan ayrılmanıza gerek kalmadan kolayca git repository’si haline getirebilirsiniz. Değişikliklerinizi soldaki menüden takip ederek stage’leyip commit’lerinizi yapabilirsiniz. Bunlara ek olarak stash’leme, yeni branch oluşturma, mevcut dosyayı önceki versiyonları ile kıyaslama gibi standart git işlemlerini de CTRL+SHIFT+P komutuyla ulaşabileceğiniz command palette’ten hızlıca yapabilirsiniz.


Visual Studio Code - garen.yondem.com


Entegre git yetmediğinde onlarca daha özellik eklemek isterseniz Visual Studio Marketplace’te indirilme sayısı 1.7 milyonu geçen Git Lens extension’ını kullanmanızı öneririm.


Marketplace

Herhangi bir yazılımı hafif ve hızlı yapmak istiyorsanız onu modüler olarak tasarlamalı ve hayati olmayan tüm özellikleri çekirdeğin dışında tutmalısınız. Microsoft’un VS Code ile başardığı tam olarak bu. Git, Debugger, IntelliSense gibi hiç kimsenin vazgeçemeyeceği modüller haricinde kalan hemen hemen her şeyi kurmak isteğinize bağlı. Dolayısıyla bu modüllerin sergilenebileceği bir portal’a da ihtiyaç var.


Visual Studio Code - garen.yondem.com


Microsoft’un eskilerden bu yana Visual Studio için kullanılan Visual Studio Gallery adında bir portalı zaten vardı. Ancak portal uzun yıllar boyunca ciddi bir güncelleme almadı ve kullanıcılardan tepki topladı. VS Code’un çıkışıyla birlikte 2016 yılında Visual Studio Marketplace adıyla baştan aşağı yeni bir portal açıldı ve Visual Studio Gallery’nin yerini aldı. VS Marketplace bir tek VS Code extension’ları için değil, Visual Studio, VSTS (Visual Studio Team Services) ve Xamarin University gibi abonelik ile çalışan servislerin de yer aldığı ortak nokta haline geldi.


Connect(); ’17 konferansında paylaşılan sayıya göre Marketplace’te VS Code için 4700’den fazla extension paketi bulunuyor. Hepsini denemekle vakit kaybetmeyin diye github’da aralarından en güzellerinin seçilmiş olduğu listeyi de buraya bırakıyorum.


Sıradaki yazıda artık elimizi biraz kirleteceğiz. Görüşmek üzere!


blog comments powered by Disqus