2009-10-27 4 views
11

私はIntelliJを試していますが、IntelliJで可能な解決策があるかどうかわかりません。 EclipseやTextMate(オートコンプリート付きの他の多くのエディタ)でも、文字列やかっこのようなオートコンプリートセクションの途中にいる場合は、EnterまたはTabキーを押してそのセクションの最後に移動できます。例:IntelliJオートコンプリートエスケープ

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

キャレットはtoString部分の括弧の中央にあります。 IntelliJでは、問題のないかっこを入力することができます。または、Endキーを押して末尾に移動できます。私は家の列から手を離さなければならないので、1つは小さな迷惑で、もう1つはより迷惑です。日食では、私はEnterキーを押すことができ、それはこのから私を得るだろう... TextMate、タブ。

IntelliJで同様の機能を提供するために調整や調整ができますか?

答えて

6

このコンテキストでは、をCtrl-Shift-Enterと入力すると、CrazyCoderが示唆するように、この現象が発生します。中括弧が追加され、次の行にカーソルが置かれます。 Shift-Enterを押すと、次の行に移動し、コードについての前提が少なくなります。 Ctrl-Shift-Enterは、見ているコードによって異なる動作をするため、一貫性のある動作にはなりません。たとえば、文字列の途中では、行末にセミコロンが追加されます。

ここで、行の最後に到達するには、ここでは終了が優先されるようです。別のキーの組み合わせがうまくいく場合は、キーマップに行の最後に追加のキーを追加できますが、かっこの途中にあるため動作が変更されるだけではありません。

IDEAオプションを見ると、カッコの動作は実際にはforループを自動的に作成するようなライブテンプレートではないようですので、完了したらタブアウトしないでください。そうではないかのように流動的に入力することを知っていることを知的に認識しています。

5

私はを試しました。cmd-shift-enter(Macの場合)です。その結果は私にとってはより有用なようです(JavaScriptコード)。 CMD-シフト入力を押した後

var x = func1(func2(|)) 

::前

var x = func1(func2());| 

ので、それも追加されますここにカーソルを視覚化するために|私は( '')、パイプを使用していますセミコロンを入力します(ただし、入力をもう一度押して次の行に移動する必要があります)。

前:

if(a == b|) 

をCMD-シフト入力を押した後:

if(a == b) { 
    | 
} 

EDIT

はちょうどこのショートカットがさらに便利で見つかりましたは、PHPとjavascriptの両方で動作します

1

これらの答えは一種の古いなので、誰もがあなたが同封自動完了しますと、Javaで + KEY

Shiftキーを入力して、提出から抜け出すことができることを認識している場合、私は知りませんSystem.out.println( "Hello World!")しました。カーソルが「内にある場合は」、Shiftキー + 『は』外であなたを取得し、シフト + は(の外側であなたを取得します)