04 Ocak 2010

Netbeans te kod şablonlarıyla lisans ayarlarını değiştirmek

Netbeans,eclipse veya visual studio gibi ide lerde yeni bir class oluşturmak istediğimizde önce bizden bu class ın yapısı için önbilgiler girmemiz istenir. Örneğin bu class ın Main class mı olacağı ,soyut olup olmayacağı, yada private veya public mi olacağı henüz oluşturulma aşamasında bize seçenek olarak sunulur ve bu öntanımlamalara göre bir class iskeleti oluşturulur.
Bugün,netbeans te yaratılan bir class ın en üst kısmında bulunan lisans şablonunun nasıl değiştirildiğini anlatmak istiyorum. Yeni bir class oluşturduğumuzda lisans kısmında default olarak şu yazar :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/


Yapacağımız işlemler sonucunda benim editörümde artık otomatik olarak şu yazacak :
/*
* Bu kod Levent Özkan tarafından 04-01-2010
* tarihinde geliştirilmiştir.
*/


Bu değişim için yapmamız gereken, açık bir proje varken tools menüsünden templates i seçmek.Daha sonra açılan pencereden java yı buluyoruz ve altındaki java class ı seçip open in editor diyoruz.Karşımıza aşağıdaki gibi java class template geliyor.




<#include "../Licenses/license-${project.license}.txt">; satırından da anlaşılıdğı  gibi lisans bilgileri dosyadan okunuyor. Bizim yapacağımız şey ise yeni bir dosya yaratmak ve burdaki project.license parametrsini kendi dosyamıza bağlamak. Önce yeni bir lisans dosyası yaratalım.Bunun için yine tools menüsünden  templatesi seçiyoruz ve açılan pencereden Licenses dalı altındaki Default (yada herhangi bir) dosyaya tıklayıp duplicate ediyoruz. Oluşturduğumuz  dosyaya sağ tıklayıp proporties diyoruz ve burdan display name ve file name i ayarlıyoruz. Örneğin ben Display name : levent.txt  File Name : license-mydefault dedim. Burada file name in "license-XXX" şeklinde olması önemli.Dosyamızın özelliklerini belirledikten sonra sıra geldi içeriğini belirlemeye.Dosyamızı yine open in editor diyerek açıyoruz.Benim levent.txt dosyamı aşağıdaki gibi düzenledim.
 


Gerekli düzenlemeleri yaptıktan sonra kaydedelim. Şimdi sıra geldi java sınıf oluşturma şablonuna bu lisans dosyasını parametre olarak göndermeye. Bu işlemi yan taraftaki Files penceresinden (görünmüyorsa ctrl+2) yapıyoruz.Buradan nbproject altındaki project.properties i altmenüleri açmadan çift tıklıyoruz ve açılan sayfanın en altına giderek parametremizi yazıyoruz. Dikkat edilmesi gereken nokta, buraya display name in değil file name in yazılması.
Dosyamızın adı license-mydefault, ancak buraya sadece mydefault yazıyoruz.




project.license=mydefault  satırını ekledikten sonra işimiz bitiyor. Yeni bir class oluşturduğumuzda
artık lisans kısmına belirttiğimiz dosyanın içeriğini otomatik olarak yazdırabiliriz.

Son olarak, eğer sadece ilgili projede değil de bütün projelerde kendi hazırladığımız şablonu kullanmak istiyorsak ;
#include "../Licenses/license-${project.license}.txt"  satırında ${project.license} yerine kendi dosyamızın ismini yazmalıyız. <#include "../Licenses/license-mydefault.txt"> şeklinde yazıp kaydettiğimizde artık her projede kendi şablonumuz gösterilecektir..