Visual Studio Interactive Window
Yeni öğrendiği bilgiyi pekiştirmeden bilgi arşivine atan yazılımcı gördünüz mü? Ben eminim ki, Çin’deki bir yazılım geliştirici ile İngiltere’deki iki meslektaşın yaşam süreçlerinde kesişen sancılarından birisi bu sanatı icra etmek için öğrenileni mecbur pekiştirme gereksinimlerinin olmasıdır. Ee haliyle hepimiz aynı dertten müzdaribiz.
Hal böyleyken ne öğrendiysek Visual Studio’da Console Application oluşturarak denemedik, pekiştirmedik mi? Kâh satırlar dolusu çalışma gerektiren yapılar için kâh iki satırlık kod için durmadan yeni bir Console Application oluşturup hem Visual Studio Recent ortamını ziyan edip hemde lüzumsuz proje dosyalarıyla bilgisayarımızı çorbaya çevirmedik mi? 🙂
Velhasıl, bu kadar serzeniş yeter…
Anlayacağınız Visual Studio iki satırlık kodlar için Console Application üretip çalışmamız yerine Interactive Window sayesinde pratik bir şekilde kod çalışma ve deneme imkanını bizlere sunmaktadır.
Peki nedir Interactive Window?
Interactive Window, C# dili ile çalışabilen ve zengin editör desteğine sahip olan REPL’dir. REPL(Read-Eval-Print-Loop) şeklinde bir açılıma sahip olmakla beraber, C# kodlarını okuyan, çalıştıran ve sonucu ekrana döndüren bir sistemdir diye nitelendirebiliriz.
Interactive Window’u açmak için “View” -> “Other Wİndows” -> “C# Interactive” kombinasyonunu takip etmeniz yeterlidir.

Yukarıdaki kombinasyonu takip ettiğiniz zaman aşağıdaki gibi Interactive Window’u göreceksiniz.
Evet. Şimdi Interactive Window’u basit Console komutlarıyla deneyelim.
Gördüğünüz gibi gayet temiz bir şekilde komutlarımız çalışmaktadır.
Döngü gibi kompleks yapılarda da satır satır yazdığımız komutları algılamakta ve sonucu ekrana yazdırmaktadır.
Şimdi aşağıdaki örneği dikkatlice inceleyiniz.
Interactive ekranında önceden tanımlanan herhangi bir değişken bir context(kaynak) içerisinde saklanmakta, haliyle sonradan ilgili pencere üzerinden değişken çağrıldığı zaman görüldüğü gibi erişilebilmektedir.
Extension metodlar eşliğinde Lambda ifadelerinide yukarıdaki gibi gönül rahatlığıyla kullanabilmekteyiz.
Bu şekilde kütüphaneleri using ederek içerisindeki sınıfları aşağıdaki gibi kullanabilmekteyiz.
Dikkat ederseniz eğer nesne oluşturabilir, referans noktaları tanımlayabilir ve await – async komutlarıyla asenkron işlemler gerçekleştirebilirsiniz.
Ayriyetten aşağıdaki gibi metod tanımlayabilir ve kullanabilirsiniz.
Bunların dışında Interactive Window’a özel komutlar mevcuttur.
- #cls veya #clear komutları Interactive penceresini temizlemek için kullanılır. Tabi bu komutlar sadece pencereyi temizlemekte, önceden tanımlanmış değişken, nesne veyahut diğer filanca yapılara dokunmamaktadırlar.
- #reset
Eğer Interactive penceresindeki komutları temizlemekten ziyade önceden tanımlanmış tüm yapıları yok etmek istiyorsak kullanacağımız komuttur. - #load komutu ile herhangi bir .cs dosyası içerisindeki komutları çalıştırabiliriz.

Gün geçtikçe demolarda daha hızlı olmamızı sağlayan bu tarz yeni yapılar eşliğinde yaptığımız bu zanaatin tadı tarif edilemeyecek noktalara gelmektedir.
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar.








