Visual Studio Code 1.0

Tahmini Okuma Süresi: 8 dakika

Basitleşen Dünya

Simplicity is the ultimate sophistication” diyor Leonardo Da Vinci. Teorik olarak kabul görse de hayatlarımıza baktığımızda hep daha fazlasını istiyoruz. Üstelik belki de ihtiyacımız olmasa bile… Yazılım geliştirme için geliştirilen araçlarda bize hep daha fazlasını vaat etti. Bu tüketim çılgınlığı donanımların çılgınca gelişmesinin desteğiyle aldı başını gitti. Öyle ki bugün Visual Studio kurulumu yapmak için bir kaç gigabyte alan ve birkaç saat gerekiyor. Son yıllarda birilerinin içine Leonardo kaçmış olmalı ki birden ana akım basitleşmeye yöneldi. Microsoft’da bu tarafta  ışık görmüş olmalı ki Visual Studio IDE’sine bir alternatif olarak “Visual Studio Code” ürününü piyasaya sürdü.

Yeri gelmiş iken IDE ile Text Editör arasındaki farka değinmek isterim. Bir text editörü ne işimize yarar? En basit tarifle yazdığımız kodlar üzerinde düzenleme yapmamıza. Peki IDE dediğimiz araç ne sağlıyor? dersek daha geniş bir dünyaya gideriz. Kodu düzenlemenin yanı sıra, derlemek, debug etmek, performans izlemek, şablonlar kullanarak arayüzler tasarlamak, UMLdiyagramları, yazılan kodlar arasındaki bağımlılıkların görsel analizi vs. … Liste uzar. Her IDE’nin kendine has sunduğu birçok (belki de haddinden fazla) özellik mevcut. Birbirleriyle karşılaştırması gereken araçlar değiller.

Geçtiğimiz günlerde yapılan Build konferansında John Papa’nın sunumunun hemen başında detaylı olarak aradaki farklar izah edildi. Sunumdan aldığım ekran çıktısı  aşağıda, o yetmezse sunumun kendisi : Visual Studio Code: A Deep Dive on the Redefined Code Editor for OS X, Linux and Windows linkinden ulaşılabilir.

Attığın taş, ürküttüğün kurbağaya değiyor mu?

Öncelikle text editör camiası birçok alternatife sahip. Atom ( Visual Studio Code’da bir atom forku), Brackets, Sublime Text, Vim, TextMate, Emacs, Notepad++, en ilkel modda notepad ve aklıma gelmeyen daha bir çok ürün mevcut. Bir şekilde bu text editörlerinden birini veya birkaçını kullanmak gerekiyor. Bu noktada yapılan seçimlerde “Pros-Cons” dengesine bakmak gerekiyor. Çalışılan ortama göre bir tercih yapmak gerekiyor. Bu saydığım ürünlerin birçoğu  farklı platformlara destek vermekte yani her çiçekten bal almak mümkün. Bir text editörünün sürekli olarak kullanabileceğiniz ve bir takım işleri kolayca yapabileceğiniz araç  olabilmesi için birkaç özelliği barındırması gerekiyor. O zaman nelere dikkat etmek gerek ve Visual Studio Code bu dikkat edilmesi gereken özelliklerden hangilerini sunuyor listeleyelim.

Markdown desteği: Klavyeseverlerin olmazsa olmazı. Yazı yazarken eğer mouse kullanmayı pek sevmiyorsanız, markdown syntax’ını kullanarak düz metin yazar gibi zengin içerikler üretebilirsiniz. Tıpkı aşağıdaki resimdeki gibi.

Visual Studio Code Markdown

Bu noktada markdown syntax’ının bir nevi Zen Coding olduğu ve alışana kadar normal yazma hızından daha yavaş yazacağınızı göz önünde bulunmanız gerekir.

Markdown yazmaya merak salayım diyorsanız linke göz atmanıza öneririm : Github Markdown Cheatsheet

Extension desteği: Tamam basitlik iyi hoş ama genişletilebilir olması kullanılan text editörün sunduğu temel yetenekleriyle yetinmek istemeyenler için şart. Visual Studio Code için bu desteğin yeterli olduğunu söyleyebilirim. Visual Studio Marketplace  içinde birçok platform, programlama dili için eklentiler yer almakta.

ext install Ruby  komutuyla Ruby desteğine kavuşmak mümkün.

Intellisense desteği: Madem basitliğe yelken açtım, her şeyi harf harf yazarım demeyenler için şart. Yine birçok programlama dili için” intellisense” desteği mevcut Visual Studio Code’da.

Diğerleri: Built-in git desteği remote repository’ler ile çalışmayı olanaklı kılıyor. Yine dahili debugger desteği de vurgulanması gereken noktalardan. Bir IDE kurmanın maliyeti gigabyte seviyelerinde yer ihtiyacı ve gayet ciddi bir yükleme süresi gerektirirken, 50 mb civarı boyutu ve saniyelerle ifade edebileceğimiz kurulum süresi bahsedilmesi gereken avantajlarından bir diğeri. Tema desteği de yine konforlu bir çalışma ortamı oluşturmak için unutulmamış özelliklerden. Visual Studio Code, alışılagelmiş windows uygulamalarının aksine bir json config dosyası ile özelleştiriliyor. Yani kolları sıvayın kendinize has bir Visual Studio Code istiyorsanız mouse tıklaması değil, klavye tıkırtısı yapmanız gerekiyor. Toolbar’dan Preferences -> User Settings’i tıkladığımızda bizi karşılayan görüntü aşağıdaki şekilde. Son kullanıcısı büyük çoğunlukla yazılım geliştirme işiyle uğraşan bir uygulama için ayarların config dosyası ile yapılması çok büyük sorun bir olmasa gerek.:)

Visual Studio Code Settings file
Visual Studio Code settings file

Bir workspace oluşturursanız task runner kullanarak development life cycle’ınızı yönetebilirsiniz. Gulp, grunt gibi task runner’lar ile çalışabilirsiniz. Web programlamada rutin işleri otomatize etmek için kullanılan bu araçlar ile ilgili araştırma yapıyorum. İleride bu konu hakkında detaylı bir yazı yazabilirim. Selection, zoom, go to definition, bracket matching, snippets, gutter indicators gibi text editör özellikleri de ufak tefek ama kullanışlı özellikler.

Son Tahlil

Microsoft tarafında son dönemde yapılan Cross Platform çalışmalarının bir meyvesi de Visual Studio Code. Önümüzdeki dönemde daha da parlaması ve bu taraftaki yatırımların artmasını beklemek hayalcilik olmaz. Son dönemlerde yapılan atılımlar bunun göstergesi. Angular technical program manager’i olan Jules Kramer’in Angular2 core takımının Visual Studio Code kullandığını söylemesi de enterasan bir not olarak değinebileceğim bir nokta. İlgili ifadeye şu yazıda ulaşabilirsiniz: Microsoft Releases Cordova Tools Extension for Visual Studio Code

Henüz Visual Studio Code ile tanışmadıysanız belki de tam sırası, zaten yazılım geliştirmeye merak salmış kişilerin farklı platformları, uygulamaları denemesi gerekir. Güvenli bölge(Safe Zone)lerden çıkıp bu akıl almaz hızla gelişen dünyadan alabildiğimiz kadar çok deneyimi, bilgiyi kazanmalıyız.

Bu ilk yazımda sizlere Visual Studio Code’u tanıtmaya çalıştım. Her ne kadar okuyarak bir noktaya kadar fikir sahibi olunabilse de en büyük deneyim kullanmak, denemek.  Yazıyı yazarken teknik jargon aşinalığı da yaratmak için bazı terimleri İngilizce yazdım. Bundan sonra yazacağım yazılarda da bu yönde bir üslup sergilemeyi düşünüyorum. Bu konuda hassasiyet oluşmaz umarım. Çünkü benim de yersiz kullanımlarda canımı sıksa da bazen Türkçe karşılık bulamamaktan veya İngilizcesini bilmemekten ötürü bazı terimlere “şey” dememle sonuçlanan bu ifade tarzında bir denge yakalamak gerekiyor diye düşünüyorum. 

Leave a Reply

Your email address will not be published. Required fields are marked *