Visual Studio’da hiç süphesiz en çok kullanılan ve kullanılmak zorunda olan pencerelerden biride Add Project ve Add New Item pencereleridir bu açılan pencereler ile visual studio tarafından varsayılan olarak tanımlı olan şablonlar yer almaktadır.
Visual Studio kendi item template ve project template dosyalarımızı oluşturma
Kendi item ve project şablonlarımızı nasıl oluşturacağımızı göreceğiz bu makalede. alttaki item template’ine ait içeriği oluşturduk $ karakteri ile başlayanlar ozel isimlerdir kullanıcı bu dosya ile ilgili yeni bir nesne oluşturduğunda buradaki tanımlanmış ozel isimler visual studio tarafından otomatik olarak doldurulmaktadır.
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | using System; namespace $rootnamespace$ { //oluşturulma zamanı : $time$ //telif hakkı muratoner.net 1970 - $year$ //oluşturan: $username$ //şirket adı: $registeredorganization$ public class $safeitemname$ { public $safeitemname$() { } } } |
Üstteki şekilde bir class tanımladıktan sonra File menüsünden Export Template’e tıklayın ve ardından çıkan pencerede sırasıyla aşağıdaki adımları takip edin.
Item template seçeneğini seçiyoruz ve itemtemplate’iniz hangi projenizde yer alıyorsa açılır listeden o projeyi seçip ve next butonuna tıklıyoruz.
Oluşturduğunuz item template’i seçin ve next deyin.
Bu adımdada referans olarak eklenecek kütüphaneleri seçiyoruz.
Son olarak template name kısmına şablon adını giriyoruz ardından Template description kısmına şablon ile ilgili açıklamayı Icon Image kısmına kullanıcıya gözükecek olan simgeyi belirtiyoruz ve Preview Image kısmınada önizleme resmini belirtiyoruz output directory kısmında ise şablonumuzun kaydedileceği dizin gözükmektedir template’i kaydettikten sonra eğer Add New Item dediğimizde Template name kısmındaki isim ile gözükmüyorsa o zaman visual studio’yu yeniden başlatıp tekrar Add New Item penceresini açın ve arayın.
Project template için ayrıca anlatmama gerek yok sanırım çünkü aynı durum project template içinde geçerli tek farkı bir projeyi bütün olarak kaydediyorsunuz ve size en büyük avantajı sürekli deneme yaptığını javascript veya css kütüphaneleri var her test projesi oluşturduğunuzda bu kütüphaneleri indirmek ve projeye dahil edil gerekli sayfaları oluşturup referansları vermeniz gerekiyor bir noktadan sonrada can sıkıcı ve zaman kaybı bir durum olduğunu düşüneceksiniz işte baştan bu durumları aşmak adında projenin temelini en baştan oluşturup komple projeyi şablon olarak kaydedin ve new projecet diyerek oluşturduğunuz şablonu seçin ve rahatça zamandan kazanın işinize bakın 🙂
Kendi parametrelerimizi tanımlama
$time$ gibi kendi parametrelerinizi tanımlamak isterseniz class içerisinde örnek olarak $benimsayfam$ şeklinde bir tanımlama yapalım ve oluşturmuş olduğumuz template üstteki resimde yer alan C:UsersMUHACKDocumentsVisual Studio 2013TemplatesItemTemplates dizini altında template name adını ne olarak belirlediysek o isimde bir zip dosyası yer alacak zip dosyası içerisinde uzantısı .vstemplate olan xml dosyasını açalım ve aşağıdaki eklemeyi yapıp zip içerisine tekrar kaydedelim değişikliği.
1 2 3 4 5 | <TemplateContent> <CustomParameters> <CustomParameter Name="$benimsayfam$" Value="http://www.muratoner.net/"/> </CustomParameters> </TemplateContent> |
Ardından yine aynı zip dosyasında .cs uzantılı template dosyamızı açıp aşağıdaki şekilde düzeltelim.
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System; namespace $rootnamespace$ { //oluşturulma zamanı : $time$ //telif hakkı muratoner.net 1970 - $year$ //detaylı bilgi: $benimsayfam$ //oluşturan: $username$ //şirket adı: $registeredorganization$ public class $safeitemname$ { public $safeitemname$() { } } } |
Bu düzenlemeyide yaptıktan sonra zip dosyası içerisindede değişikliğin yapıldığından emin olduktan sonra visual studio’yu yeniden başlatın ardından projenize Add New Item diyerek oluşturmuş olduğumuz Tools adındaki şablonu seçip add diyelim ve aşağıdaki gibi şablon içerisine $benimsayfam$ olarak tanımladığımız parametre yerine http:/www.muratoner.net/ yazıldığı göreceksiniz.
C#
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | using System; namespace ConsoleApplication1 { //oluşturulma zamanı : 9/6/2014 11:56:15 PM //telif hakkı muratoner.net 1970 - 2014 //detaylı bilgi: http://www.muratoner.net/ //oluşturan: MUHACK //şirket adı: public class Tools1 { public Tools1() { } } } |