Roslyn CTP Scripting; Elveda Batch Dosyaları

    Microsoft “Roslyn” CTP’yi sizlere duyururken karşımıza keşfedilecek pek çok yenilik olduğundan bahsetmiştim. Makale serisi ile bu yenilikleri sizlerle paylaşırken bir önceki makalemde sizlere Roslyn CTP ile birlikte gelen scripting desteğinden bahsetmiştim; artık İki-üç satırlık basit bir kod parçacığı ile uygulamalarımıza script desteği ekleyebiliyoruz. Yaratıcı bir hayal gücünüz varsa script desteği ile oldukça güzel uygulamalar ortaya çıkartabilirsiniz.

   Madem bir C# uygulamasında script çalıştırabiliyoruz, neden basit bir konsol uygulaması yaparak parametre olarak verilen script dosyasını çalıştırmıyoruz?! Bu sayede MS-DOS batch dosyalarının kısıtlarından kurtularak isteğimiz işi otomatikleştirmemiz mümkün olacaktır. Gerçi alternatif olarak elimizde güçlü bir PowerShell olacak; fakat bir yazılımcı olarak C# scripting ile her zaman için kendimi daha konforlu hissedeceğim kesin. Üstelik renklendirme, IntelliSense  tooltip’ler ve derleyici desteğiyle birlikte kendimi daha da güçlü hissedeceğim;

Roslyn C# scripti ile birlikte renklendirme, IntelliSense, tooltip'ler ve derleyici desteği ile kendinizi daha da güçlü hissedeceksiniz

   Örnek vermek gerekirse bir klasör altındaki tüm cs dosyaları içerisinden içerisinde “Enterprisecoding.com” geçmeyen dosyaları listelemek istiyorsam aşağıdaki bir kaç satırlık C# scripti işimi görecektir;

using System;
using System.IO;
using System.Linq;

var arananDosyalar = Directory.GetFiles(Environment.CurrentDirectory, "*.cs", SearchOption.AllDirectories)
                     .Where(dosya => !File.ReadAllText(dosya).Contains("Enterprisecoding.com"));

Console.WriteLine("İçerisinde 'Enterprisecoding.com' geçmeyen dosyalar : ");
Console.WriteLine("======================================================");
Console.WriteLine(string.Join(Environment.NewLine, arananDosyalar));

   Şanslıyız ki Roslyn geliştiricileri de bizimle aynı fikirde olacak ki CTP ile birlikte bahsettiğim gibi script çalıştırabileceğimiz bir console uygulaması da gelmekte : rcsi.exe . C:\Program Files (x86)\Microsoft Codename Roslyn CTP\Binaries klasörü altında bulabileceğiniz bu uygulamayı yukarıdaki script’i çalıştırmak için şu şekilde kullanabilirsiniz;

Örnek bir C# script'inin rsci ile çalıştırılması

.

   rcsi uygulamasının parametrelerine göz atacak olursanız işinize yarayacak pek çok şey bulabilirsiniz. Örnek vermek gerekirse;

  • /define : Roslyn’in koşullu derleme gerçekleştirmesini sağlar. Bu sayede genel geçer bir script oluşturup duruma göre belirli bir kısmının çalışmasını/çalışmamasını sağlayabilirsiniz.
  • /using : scriptlerinizde kullanmak üzere genel namespace’leri belirtebilirsiniz.

Leave a Comment

en_USEnglish