2010-08-19 17 views
13

Yinelenen bir seçim yapmak istiyorum, "Surround With" bağlam menüsünü almak için Alt + Shift + Z tuşlarına basın ve seçimin Her bir döngü için uygun formatla.Her döngü için yinelenen seçimin sarılması için Eclipse şablonu

Örneğin, ben

someObject.getSomeList() 

seçin ve böyle bir şey denedim bu

for (SomeListType someListType : someObject.getSomeList()) { 

} 

oluşturmak istiyorum, ama o iş gibi görünmüyor:

for(${t:elemType(ls)} ${:name(t)} : ${ls:line_selection}) 
{ 
    ${cursor} 
} 
+6

Bunu kontrol edeceğim. Alternatif olarak, "foreach" yazabilir, Ctrl-Space yazabilir ve "foreach - bir dizi veya yinelenebilir" öneriyi seçebilir ve son başvurulan Iterable veya array değişkenini kullanarak "foreach" şablonundan kod üretebilir . – Ladlestein

+0

Çoğaltmayı önlemek için bunu http://stackoverflow.com/questions/1028858/useful-eclipse-java-code-templates adresinde yayınlamanızı öneririm. Soruya gelince, ben bir tür şüpheliyim. Genel tip bilgisi baytkodunda saklanmaz, eksiklik çözümü engeller. Cevapları görmeyi çok merak ediyorum! – questzen

+0

@questzen Genel tür bilgisi (en azından sınıflar ve yöntem imzaları için) bayt kodunda saklanır veya Java derleyici bunu kullanamaz. Yine de, genel bilgiler çalışma zamanında kullanılmaz. –

cevap

5

QuickFix'i (Win/Lin üzerinde Ctrl+1 veya Mac'te Cmd+1) kullanın.

yapabilirsiniz şu yaklaşımla istenilen davranışı elde: iterable koleksiyonunu döndürür deyimi yazın

  1. örn

    someObject.getSomeList() 
    
  2. basın Ctrl+1 (Mac'te Cmd+1) ve açılan menüden Assign statement to a new local variable (kullanmak istiyorsanız bu eylemin Mac'te (Cmd + 2 L) için bile doğrudan bir kombinasyonu, ancak, muhtemelen orada Eğer

    fore 
    

    ve basın Ctrl+1 (Cmd+1) tekrar basın ve ardından 01 seçmek en fazla

  3. Yaz) hatırlamak istiyoruz ne kadar farklı kombinasyonlar bağlıdır(basitçe QuickFix menüsü bu noktada genellikle yeterlidir görünür hemen sonra Enter tuşuna basarak) ve böyle bir şey olsun: Artık hatta kurtulmak için yerel değişkenin kullanımını satır içine alabilirsiniz

    for (Content content : someList) { 
    
    } 
    

tekrar (QuickFix kullanarak ders;). QuickFix gerçekten güçlü, bu özellik yayınlandığından beri neredeyse hiç şablon kullanmıyorum.

+0

Evet, şu an yapıyorum. Daha iyi bir şey için umuyordum. Sanırım yok. –