eclipse etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

16 Haziran 2012 Cumartesi

Eclipse Kısayol: semicolon (;) işkencesine çözüm

Java ile programlama geliştirenler ";" karakterine aşinadır. Her bir ifade, ";" ile sona ermelidir. Uzun süredir ve hızlı bir biçimde kodlamaya alışıksanız, ifade içerisinde bir düzenleme yaptıktan sonra "end" tuşuna basarak veya mouse ile satır sonuna gelip, ";" koymak zaman kaybı gelebilir. Eclipse'in bunun için bir çözümü var;

Window > Preferences > Java > Editor > Typing kısmında

"Automatically insert at correct position" başlığında Semicolons ibaresi seçili olsun. Bu sayede imleç, satırda nerede olursa olsun, ";" e bastığınızda en sona semicolon(;) eklenecektir.

21 Ocak 2012 Cumartesi

Eclipse'de Kısayoldan Kod Şablonu Oluşturma

main yazıp ctrl+space yazmayı hepimiz biliriz. veya sysout yazıp System.out.println(|); çıkmasını..

JIDEA'da iter yazıp tamamlatınca mevcut list elemanlarını iterator ile dönen kod template i görünce şaşırmıştım. Eclipse'de neden bu kadar gelişmiş özellikler yok diye hayıflanırken Preferences > Java > Templates kısmı dikkatimi çekti.

main, sysout, @author, switch.. çoğu template'in nasıl oluşturulduğunu buradan görebiliyoruz..

Buradaki örneklere bakarak yeni geliştirmeler yapmak mümkün. Ancak hazır olarak da oldukça işe yarar template'ler var. Benim işimi çok kolaylaştıranlardan bazıları;

- slf4j logger ekleme;


${:import(org.slf4j.Logger,org.slf4j.LoggerFactory)}
private final Logger logger = LoggerFactory.getLogger(${enclosing_type}.class);


- dosyadan metin okuma;


${:import(java.nio.file.Files,
          java.nio.file.Paths,
          java.nio.charset.Charset,
          java.io.IOException,
          java.io.BufferedReader)}
try (BufferedReader in = Files.newBufferedReader(Paths.get(${fileName:var(String)}),
                                                 Charset.forName("UTF-8"))) {
    String line = null;
    while ((line = in.readLine()) != null) {
        ${cursor}
    }
} catch (IOException e) {
    // ${todo}: handle exception
}


- dosyaya String yazma;


${:import(java.io.BufferedWriter,
 java.io.FileWriter,
 java.io.IOException)}
 try {
 BufferedWriter out = new BufferedWriter(new FileWriter(${cursor}"fileName"));
 out.write("aString");
 out.close();
 } catch (IOException e) {
 throw e;
 }





@Override : "must override a superclass method"

interface'den türettiğim sınıfın metotlarını implement ederken default bunlar geliyor IntellJIdea ile. Projeyi Eclipse'de açınca ise bu @Override satırlarında hata veriyor. Çözümü basit.

Eclipse > Project Preferences > Build Path > Libraries [1.6] olmalı
ayrıca yine ayarlarda > Project Facets > Java [1.6] olmalı.

1.5 ile ilgili bir sorun.

Blogger tarafından desteklenmektedir.