2017-10-12 67 views
1

當在IntelliJ中爲初學者教程使用代碼補全時,它將光標放在parens後面,迫使我每次點擊左鍵和每一次。使用管道表示遊標:「printl」完成到「println()|」當我需要的是「的println(|)」在IntelliJ代碼完成後,我怎樣才能使光標最終在parens裏面,而不是在他們之後

隨着第二,如果你鍵入「完成後,你會得到的println(」「),但在)此刻我得到的是調用println(」」

我知道這似乎是一件簡單的事情,但是當你不得不繼續將右手從鑰匙上移開以擊中< - 約75%的線條箭頭時,它會變成減慢速度並且變得非常快速的東西。

感謝, 斯科特

回答

1

在引號之間使用帶有$ END $的實時模板正是我所需要的。

現在,如果我只想知道如何編輯股票println()以包含$ END $或使我的實時模板顯示在列表的頂部而不是底部。

必須達到選擇正確的模板種類的目的,使得一個,所以我不需要達到移動光標笑lol

0

在列表中,你可以「的println」超載選擇具有一定paramete RS。

如果您打印到標準輸出,您可以使用實時模板:輸入「sout」並按Tab鍵。

0

IntelliJ的代碼完成是上下文敏感的w.r.t它放置光標的位置。

考慮以下方法:

private void foo() {} 

private void bar(String s) {} 

如果鍵入fo,讓的IntelliJ自動完成foo()將放置支架後的光標,因爲的IntelliJ知道foo()沒有參數,它假定你要轉移到別的東西上。

如果鍵入ba,讓汽車的IntelliJ完成bar()就會把光標括號,因爲的IntelliJ知道bar()需要一個參數,以便它假定你要進入下一件事是bar()參數。

當然,如果一個方法超載,並且允許零個或多個參數,它可能會有點混亂。

如果您發現IntelliJ的選擇是錯誤的,那麼您可以創建一個Live Template。這裏是sout現場模板的一個例子:

System.out.println($END$); 

這原來sout + TABSystem.out.println();,並按照$END$指令,將光標置於的括號。

相關問題