2009-10-27 38 views
11

IntelliJ'u deniyorum ve IntelliJ'de olası bir çözüm olup olmadığını anlayamadığım küçük bir rahatsızlık yaşıyorum. Eclipse ve hatta TextMate (otomatik tamamlama ile birçok diğer editörlerin yanı sıra), bir dize veya parantez alanı gibi bir otomatik tamamlama bölümünün ortasında iseniz, bu bölümün sonuna ulaşmak için Enter veya Tab tuşuna basabilirsiniz. Örneğin:IntelliJ otomatik tamamlama kaçış

if (blah.equals(something.toString())) 

şapka toString kısmının parantez ortasında olacaktır. IntelliJ'te, bu parantezi hiçbir sorun olmadan yazabilirsiniz ya da sonuna ulaşmak için "Son" tuşuna basabilirsiniz. Biri küçük bir rahatsızlık, diğeri ise daha çok sinir bozucu çünkü ellerimi ev sırasından çıkarmak zorundayım. Eclipse'de Enter tuşuna basabilirim ve beni bundan kurtarabilirim ... TextMate, Tab.

Yapabileceğim bir ayar var mı ya da IntelliJ'te bana benzer işlevler vermek için yapabileceğim bir şey var mı?

cevap

6

Bu bağlamda, CrazyCoder'ın önerdiği gibi Ctrl-ÜstKrkt-Enter tuşlarına basarsanız, bu davranışı alabilirsiniz. Diş tellerini ekler ve imlecinizi bir sonraki satıra yerleştirir. Ayrıca bir sonraki satıra koyabileceğiniz ve kodla ilgili daha az varsayım yapacağınız Shift-Enter tuşlarına da basabilirsiniz. Ctrl-ÜstKrkt-Enter, baktığı koda bağlı olarak farklı davranır, böylece size tutarlı davranış sağlamaz. Örneğin, bir dizenin ortasında sizi çizginin sonuna getirir ve bir yarı-kolon ekler.

Bu, hattın sonuna ulaşmak için burada sonun tercih edilen anahtar olduğu anlaşılıyor. Farklı bir tuş kombinasyonu sizin için daha iyi çalışıyorsa, anahtar haritasına satırın sonuna gitmek için ek bir anahtar ekleyebilirsiniz, ancak yalnızca parantezin ortasında olduğunuz için davranışını değiştirmeyecektir.

IDEA seçeneklerine bakıldığında, parantez davranışının gerçekten otomatik olarak bir for döngüsü oluştururken olduğu gibi canlı bir şablon olmadığı görünmektedir, dolayısıyla işiniz bittiğinde sekme işlemi yapmazsınız, bunun yerine parantezleri otomatik olarak tamamlar. Sizin için ve akıcı bir şekilde, sanki yokmuş gibi akıcı bir şekilde yazmak isteyebilirsiniz.

5

cmd-shift- (mac üzerinde) girişimi denedim ve sonuç benim için daha yararlı görünüyor (javascript koduyla). bu yüzden bile ekler

var x = func1(func2());| 

:

önce:

var x = func1(func2(|)) 

bastıktan sonra cmd-shift-girin burada imleci görselleştirmek için | i bir boru ('') kullanıyorum satırın sonunda noktalı virgül (ama yine de bir sonraki satıra atlamak için tekrar enter tuşuna basmanız gerekir).

sadece bu kısayolu buldu DÜZENLEME daha da yararlı olur:

önce:

if(a == b|) 

bastıktan sonra cmd-shift-girin:

if(a == b) { 
    | 
} 

hem php hem de javascript'te çalışır.

1

, kimseye sen çık farkında olup olmadığını bilmiyorum kapalı otomatik olarak doldurulmuş Shift + ANAHTAR

yazarak açılan Java'da eğer System.out.println ("Merhaba Dünya!") yaptı; imleci "içindeyse ", Shift + "()

dışında sizin olsun '' ve Shift + ) dışında alırsınız