Eclipseの隠された機能[終了]


97

わかりにくい質問かもしれませんが、誰もがこれらのものを異なる方法で使用しています。このIDEに最適な時間節約ツールは何ですか。

トム

回答:


139

すべてのキーボードショートカットの組み合わせのリストを表示するCtrl+ Shift+を忘れないでくださいL(ここにリストされているものを忘れた場合に備えて)。


1
Macを使用している初心者の場合、ここにリストされているすべてのコマンドに対して、CTRLではなくCOMMANDボタンを使用してください。これを理解するのに時間がかかりました。それは誰かを助けるかもしれません。
500865-2010年

119

Ctrl-2何か

Ctrl-2 L(新しいローカル変数への割り当て)とCtrl-2 F(新しいフィールドへの割り当て)について誰も言及していないようですが、これらにより、コードの記述方法が変更されました。

以前は、次のように入力していました(|はカーソルの場所です)。

Display display = new |

次に、Ctrl-Spaceを押して、コンストラクターの呼び出しを完了します。今私はタイプします:

new Display()|

Ctrl-2 Lを押すと、次のようになります。

Display display = new Display()|

これは本当にスピードアップします。(Ctrl-2 Fも同じことを行いますが、新しい変数ではなく新しいフィールドに割り当てます。)

もう1つの良いショートカットはCtrl-2 Rです。ファイル内で名前を変更します。ローカル変数などの名前を変更する場合は、名前変更リファクタリング(Alt-Shift-R)よりもはるかに高速です。

実際、私はキーのカスタマイズ設定ページに行き、あらゆる種類の追加のクイックフィックスをCtrl-2-somethingに割り当てました。たとえば、Ctrl-2 Jを押して変数宣言を分割/結合し、Ctrl-2 Cを押して内部クラスをトップレベルに抽出し、Ctrl-2 Tを押して関数にスロー宣言を追加します。修正するには、お気に入りのものを選択し、Ctrl-2ショートカットに割り当てます。

テンプレート

私の「npe」テンプレートでの私のもう1つのお気に入りは、次のように定義されています。

if (${arg:localVar} == null)
    throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null");

これにより、すべての関数(特に、引数をフィールドに保存するか、コレクションに追加するもの、特にコンストラクター)の最初にnull引数チェックをすばやく追加できます。これは、バグを早期に検出するのに最適です。

www.tarantsov.com/eclipse/templates/でさらに役立つテンプレートを参照してください。多数あり、新しいものを追加することが多いので、ここではすべてを記載しません。

完了

いくつかのコード補完トリック:

  • 別の答えで言及されているラクダのケースのサポート:cTMと入力してcurrentTimeMillisを取得
  • デフォルトのコンストラクタ:デフォルトのコンストラクタのないクラス宣言でCtrl-Spaceを押すと、最初の選択肢は作成することです
  • オーバーロード:クラス宣言で、オーバーロードできるメソッドの名前の入力を開始します。Ctrl-Space、いずれかを選択します
  • ゲッター/セッターの作成:「get」と入力し、Ctrl-Spaceで作成するゲッターを選択します。「is」および「set」と同じ

新しいフィールドに割り当てる

これは、フィールドを追加する方法です。

  1. まだコンストラクターがない場合は、コンストラクターを追加します。(クラス宣言の任意の場所でCtrl-スペース、最初の提案を選択してください。)

  2. 引数を追加します(|はカーソル位置です):

    public class MyClass {
        public MyClass(int something|) {
        }
    }
  3. Ctrl-1を押し、「新しいフィールドに割り当てる」を選択します。あなたが得る:

    public class MyClass {
        private final Object something;
        public MyClass(Object something) {
            this.something = something;
        }
    }
  4. 必要に応じてnullポインターチェックを追加します(上記の「npe」テンプレートを参照)。

    public class MyClass {
        private final Object something;
        public MyClass(Object something) {
            npe|
            this.something = something;
        }
    }

    Ctrl-Spaceを押して、以下を取得します。

    public class MyClass {
        private final Object something;
        public MyClass(Object something) {
            if (something == null)
                throw new NullPointerException("something is null");
            this.something = something;
        }
    }

素晴らしい時間節約!


2
CTRL + 2、FとCTRL + 2、Lは今、私の世界を揺さぶっています。ありがとう
Joshua McKinnon

14
テンプレートのみが中括弧を使用している場合
rsp

3
@rsp申し訳ありませんが、不要なブレースを挿入するのは嫌いです。ところで、Eclipseには、コードに任意のスタイルのブレース(常に、または必要な場合のみ)を使用できるコードクリーンアップ機能があり、保存時に適用できます。
Andrey Tarantsov 2010

81

ctrl-shift-rとそのバディctrl-shift-tは、それぞれリソースまたはタイプを開きます。リソースには、開いているプロジェクト内のすべてのファイル(非Javaファイルを含む)が含まれ、タイプには、プロジェクト内またはプロジェクトに含まれているライブラリ内のJavaタイプが含まれます。


6
ctrl + shift + rは、インデックスを必要としないため、プロジェクトを開いたばかりのタイプを開く場合にも便利です。
boutta 2009年

いい視点ね。ただし、ctrl-shift-rは、参照されているjarライブラリにある型を開く場合には機能しません。プロジェクト内の個々のファイル(リソース)に対してのみ機能します。
2009年

これは確かにEclipseで最も便利な機能であり、Netbeansで十分に実装されていない(つまり遅い)機能です。
Rahul、

60

Crtl+ 1は私のお気に入りです。赤い波線のクイックフィックス。

また、[編集]メニューの[クイックフィックス]にもあります。


2
Ctrl +。(ピリオド)次のエラーに進みます(赤/黄色の波線)...これら2つを使用すると、エラー修正モードになります。:D
st0le

59

Ctrl+ Shift+ Oインポートを整理し、適切にフォーマットし、不要なインポートを削除し、不足しているインポートを追加します。


6
先日、これを使用して、予想した1つのファイルだけでなく、プロジェクト全体またはその一部を整理できることに気付きました。非常に便利です。
Antti Kissaniemi 2008

私はこれを試しますが、これはjava.util。*を実際に必要なインポートに変更しますか?
トーマス・オーエンス

必要に応じて。*インポートを変更できます-構成可能だと思います(。*に切り替える前にインポートするクラスの数の設定)。
ダレン・グリーブス

この小さなキーの組み合わせは、私が最初にEclipseを使い始めた主な理由の1つでした。とても役に立ちました!
リッチアダムス

11
@bonceyはい、設定可能です。Eclipse3.3以降では、保存中にインポートを自動的に整理するようにEclipseに要求できることに注意してください(Java> Editor> Saveアクション)
Romain Linsolas

48

Ctrl-Jは増分検索を開始します。

Ctrl-Jを押してから、入力を開始します。上/下を使用して、入力した内容の前/次のインスタンスを検索します。

Ctrl-Shift-Jは逆方向に検索します。


9
同じように、単語を選択してctrl-kまたはctrl-shift-kを
押すと

@Newtopian-ctrl-kは、ファイル内の参照をすばやく見つけるための最も便利なショートカットの1つです。
ロデオクラウン

37

「syso」と入力し、Ctrl+ Spaceを押してSystem.out.println()に展開します。

便利なトレス。


1
これによると:syseはSystem.err.println();に展開されます。
ゲルダ

任意のキーの組み合わせを構成できます。以下の私の答えを確認してください
Ravisha


29
  • CTRL-SHIFT-g:カーソルの下のメソッドまたはフィールドの使用法を検索します。コードを理解するために絶対に必要です
  • CTRL-F6:開いているエディターウィンドウのリスト間を移動します。一度入力して前のエディターウィンドウに戻ると、これを連続して行うと前後にジャンプするのに便利です。
  • CTRL-t:クラスまたはメソッドで型の階層を表示します。たとえば、インターフェースメソッドの実装を見つけるのに非常に役立ちます。

1
5ボタンマウスを使用して、F6をボタンの1つにマッピングし、すばやくナビゲーションできるようにします。
s_t_e_v_e 2008

多くのボタンを持つマウスはそのように活用されていません。それは良いアイデアです。私は習慣を学ばないのではないかと心配しました。もしそうした場合、マシン(仕事用デスクトップ、仕事用ラップトップ、ホームデスクトップなど)の切り替えに問題が発生します
Boris Terzic 2009年

1
私はそれを変更できることを知っていますが、CTRL-F6がデフォルトで他の何かだったらいいのにと思います。片手で打てません。
アルバート

1
F4はデフォルトでタイプ階層も開きます。カーソルの下にあるものの定義にジャンプする、F3の隣に配置された便利で便利なもの。
マイクダニエルズ

5
Ctrl-F6からCtrl-Tabへの再マッピングは必須です。これは、ブラウザのタブを変更するようなものなので、非常に自然に理解できます。
espinchi 2011年

28

メソッドの宣言で戻り値の型をクリックすると、メソッドのすべての出口点が強調表示されます。

例えば:

1: public void foo()
2: {
3:   somecode();
4:    if ( blah ) return;
5:
6:    bar();
7: }

voidをクリックすると、4行目のリターンと7行目の}が強調表示されます

更新:try {}キャッチブロックでも機能します。カーソルをcatchブロックの例外に置くと、Eclipseはその例外をスローする可能性のあるメソッドを強調表示します。


今、彼は私に言っています:)有用...特にひどい方法を読むとき...
dstibbe

24

コード補完はCamelCaseをサポートしています。たとえば、入力CWARするとの結果が表示されClassWithAReallyLongNameます。この機能を使い始めると、別の長いクラス名を入力する必要がなくなります。

(私は回答が1つのヒント/ヒントだけで投票に最適だと思うので、別の回答からコピーされた部分)


23

Alt-上矢印は現在の選択を1行上に移動し、Alt-下矢印は下に移動します。また、Alt-Shift-Up / Down Arrowを常に使用しています。Ctrl-KとCtrl-Shift-Kは非常に便利で、現在の選択の次/前の出現(または何も選択されていない場合は最後の検索)を見つけます。


22

開始中括弧とセミコロンを「正しい」位置に自動的に配置するオプションがあります。これを有効にする必要があります-[ウィンドウ/設定]を選択し、検索ボックスに「brace」と入力します-簡単に見つけられるはずです(このコンピューターでは日食はありません)。の効果:

  • セミコロンを行のどこかに入力すると、この行の終わりにセミコロンが配置されます(word / openofficeのように:元の場所に配置したい場合はバックスペース)。
  • 中かっこの別のペアの中にいるときに開始中かっこを入力すると、この行の終わりに配置されます-この例のように

(「|」はカーソルです):

if(i==0|)

「{」と入力すると、

if(i==0) {|

20

Emacsに触発されたヒッピーエキスパンド/ワードコンプリート。Javaコード内の文字列リテラル内部、xmlファイル内、どこでもオートコンプリート。

Alt + /


2
ドイツ語のキーボードでは、/が7にあるため、Alt + Shift + 7です
。– guerda

Ctrl-Spaceの動作を変更して、Alt- /スタイルのテキスト拡張を含めることもできます
Ewen Cartwright

17

Alt-Shift-Rはリファクタリングではなく、renameを意味します。リファクタリングはより一般的な用語です本で定義されています)。

それにもかかわらず、それは私のお気に入りのリファクタリングの1つです。その他は次のとおりです。

ローカル変数の抽出は、メソッドの結果のタイプを覚えていない(またはタイプするのが面倒な)場合に特に便利です。JdbcTemplate createJdbcTemplate()クラスにメソッドがあると仮定して、次のようなコードを記述します。

void someQuery() {
    createJdbcTemplate()
}

式を選択し、createJdbcTemplate()Alt-Shift-Lをクリックし、変数の名前を入力してEnterキーを押します。

void someQuery() {
    JdbcTemplate myTemplate = createJdbcTemplate();
}

5
Alt-Shift-Rの名前変更は「ファイル名の変更」ではなく「リファクタリングの名前変更」を行うことに注意してください
Scott Stanchfield '26 / 02/26

1
メソッドの結果を変数に割り当てるには、メソッド呼び出しを選択することなく、クイックフィックス(Ctrl-1)を使用することもできます。
ジョーン

17

CTRL+ D-現在の行を削除する


Eclipseがこのショートカットを採用したのは少しおかしなことですが、NetBeansはctrl-eを採用しました。
Tim Gilbert、

17

絶対に、Ctrl+はQ最後の編集場所に移動します。電話や上司などに邪魔された直後にとても便利です。


15

Ctrl+ Shift+ M:クラスの静的メソッドまたは静的属性参照を静的インポートに変更します。

import X;

...
X.callSomething();

import static X.callSomething;

...
callSomething();

良いですね!私はこれを試さなければなりません。他の方法のショートカットもあるかどうか知っていますか?
Jorn

15

Alt+ Shift+ Up矢印は選択を段階的に増やします。Alt+ Shift+ Downはその逆です。


15

Alt+ UpまたはAlt+ Down行を移動する


選択した場合は複数行も移動し、インデントをその場で修正します。
ハロルドL

14

誰もまだ最高のものについて言及していません。クラスまたはメソッド名をクリックして、Ctrl+ を押しTます。

簡単なタイプ階層が得られます。クラス名については、クラス階層全体が表示されます。メソッド名の場合、スーパークラスとサブクラスを示す階層が得られ、そのメソッドの実装は、抽象的言及、またはメソッドを言及しないクラスと区別されます。

これは、抽象メソッド宣言にいて、すぐにそれが実装されている場所を確認したい場合に非常に役立ちます。


ハ、それを追加するつもりでした-すべてにインターフェースを使用するコードベースを扱うときにとても便利です!
ダレングリーブズ

単にクラスでF4を押すと、階層がタブに表示されます
Ravisha

13

F3 私のお気に入りで、選択したアイテムの定義を開きます。

Ctrl+ Shift+ Rには興味深い機能があり、検索時にクラスの大文字のラクダ文字のみを使用できます(たとえば、CWARと入力すると、ClassWithAReallyLongNameの結果が表示されます)。

Alt+ Shift+ W>パッケージエクスプローラーを使用すると、大規模なプロジェクトを簡単に閲覧できます。


1
そのキャメルケースのトリックは、コードを書くときにも機能します。エディターにCWARと入力し、CTRL-Spaceを押すと、ClassWithAReallyLongNameに展開されます。まだない場合は、これを別のヒントとして追加します。
ダレングリーブス

キャメルケーストリックはCtrl + Shift + Tダイアログでも機能しますが、名前がわかっていれば、クラスに慣れないのでとても便利です。それはまた、パートナーを「ワォ!どうやってやったの?」にさせるトリックの1つでもあります。あなたがペアリングしているとき。
バンジョリティー2009

少し前に、最小化されたアイコンをクリックせずにパッケージエクスプローラーを起動できるショートカットがあるかどうか疑問に思いました。これを
ありがとう

F3の代替方法:Control、クラス、関数、または変数をクリックして、その宣言に移動します。これはJavadoc @linkタグでも機能します。クリック可能な要素の上にカーソルを置くと、下線が引かれます。
fwielstra 2010

10

キーボード以外のショートカットトリックは、チーム->同期ビューでコミットセットを使用して、コミットする前に変更を整理することです。

変更セットをデフォルトに設定すると、ファイルに加えたすべての変更がそのセットに入れられるため、特定の欠陥/機能の作業中に行った変更や、テスト中に行ったその他の変更を簡単に確認できます。


10

どこでも、どこでも、CTRL + SPACE。

ゲッターとセッターを生成します。

フィールドを使用してコンストラクタを作成する

メソッドの抽出...

リファクタリング->名前変更

CTRL + Oで簡単なアウトラインを表示。継承されたアウトラインのCTRL + O + CTRL + O。

タイプ階層を表示するF4

呼び出し階層を開いて、メソッドの呼び出し元を表示します。

CTRL + SHIFT + TでJavaタイプを開きます

Ctrl + Shift + Rキーでリソースを開きます。

ALT +左または右でドキュメントの編集場所を前後に移動できます(簡単なナビゲーション)

多くのメソッドを実行することがわかっている場合は、メソッドをオーバーライド/実装します(そうでない場合は、一度に1つ選択する場合はCTRL + SPACEの方が適しています。

リファクタリング->インターフェースの抽出

リファクタリング->プルアップ

リファクタリング->プッシュダウン

CTRL + SHIFT + Oでインポートを整理します(マップなどの一般的なクラス名を入力し、CTRL + SPACEを押してから適切なクラスを選択すると、直接インポートされます)。

フォーマット用のCTRL + SHIFT + F(Eclipseの組み込みフォーマッターは、長いコード行では少し頭が痛くなる可能性があります)

編集:ああそう、いくつかのデバッグ:

F5:ステップイン(詳細を表示!)

F6:ステップオーバー(次のパートに進みます...)

F7:ステップアウト(私はこの方法を気にかけていたと思いましたが、私はここから出て行かないでください!)

F8:再開(次のブレークポイントに到達するまで移動)

CTRL + SHIFT + I:式を調べます。CTRL + SHIFT + I + CTRL + SHIFT + I:検査された式に監視式を作成します。

条件付きブレークポイント:ブレークポイントを右クリックすると、プログラムの実行を中断するトリガーとなる条件を設定できます(Ctrl + Spaceを使用したコンテキストアシストはこちらから利用できます)。

F11-最後に起動したデバッグ(アプリケーション)

CTRL + F11-最後に起動したものを実行(アプリケーション)


10

例外のブレークポイント

Eclipseでは、例外が発生した場所に基づいてブレークポイントを設定できます。
オプションには「j!」 からアクセスします デバッグウィンドウの代替テキストhttp://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.pngアイコン。

代替テキストhttp://blogs.bytecode.com.au/glen/2007/04/06/images/2007/AddExceptionWindow.png

公式ヘルプトピック「Java例外ブレークポイントの追加」には、これについての詳細があります。

  • キャッチされない例外オプションは、ブレークポイントと同じタイプの例外がキャッチされない場所でスローされたときに実行を一時停止することです。
  • キャッチされた例外オプションは、ブレークポイントと同じタイプの例外がキャッチされた場所でスローされたときに実行を一時停止することです。
  • 忘れてはいけない例外は、この例外のサブクラスにサスペンドブレークポイント
    例外タイプのサブクラスに遭遇した時に実行を停止します。
    たとえば、の例外ブレークポイントRuntimeExceptionがサブクラスで一時停止するように構成されている場合、それもによってトリガーされますNullPointerException

代替テキストhttp://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/reference/breakpoints/images/ref-breakpoint_suspendsubclass.PNG


9

Ctrl+ Alt+ Hメソッドの呼び出し階層を取得するメソッド。それがどこから呼び出されたかを確認する高速な方法。


9

Ctrl+ Alt+ UPまたはCtrl+ Alt+ DOWN行をコピーするには


14
ビデオドライバーによってインターセプトされない限り、画面が上下逆になります。
Adam Jaskiewicz、2009

yip、darn lenovoワークステーション:)
guyumu 2009年

8

Alt+ Shift+ Rリファクタリングして名前を変更します。


1
Alt + Shift + Rはリファクタリング->名前の変更です。Eclipseには、他にもいくつかのリファクタリングショートカットがあります。
MetroidFan2002 2008

7

以下は、Eclipse 3の最も便利なキーボードショートカットのコレクションです。

Eclipse 3 Favorite Keyboard Shortcuts. 
by -=MaGGuS=-

Navigate:

   Ctrl + Shift + L  Shows useful keyboard shortcuts in popup window 
   Ctrl + H  Search.
   Ctrl + K  Goes to next search match in a single file. Shift + Ctrl + K  goes to previous match.
   F3 - Goes to declaration of something. Same as Ctrl + Click.
   Ctrl + Shift + G - Use this on a method name or variable. It will search for references in the code (all the code) to that item.
   Ctrl + O  Shows outline view of the current class or interface.
   Ctrl + T  Shows class hierarchy of the current class or interface. F4  shows the same in separate tab.
   Ctrl + Shift + T - Open Type. Search for any type globally in the workspace.
   Ctrl + Shift + R  Open Resource. Search for any file inside workspace.
   Ctrl + J  Incremental search. Similar to the search in firefox. It shows you results as you type. Shift + Ctrl +J - Reverse incremental search.
   Ctrl + Q  Goes to the last edit location.
   Ctrl + Left|Right  Go Back/Forward in history.
   Ctrl + L  Go to line number.
   Ctrl + E  This will give you a list of all the source code windows that are currently open. You can arrow up or down on the items to go to a tab.
   Ctrl +PgUp|PgDown  Cycles through editor tabs.
   Ctrl + Shift + Up|Down - Bounces you up and down through the methods in the source code.
   Ctrl + F7  Switches between panes (views).
   Ctrl + ,|.  Go to the previous/next error. Great in combination with Ctrl + 1.
   Ctrl + 1 on an error  Brings up suggestions for fixing the error. The suggestions can be clicked.
   Ctrl + F4  Close one source window.

Edit:

   Ctrl + Space  Auto-completion.
   Ctrl + /  Toggle comment selected lines.
   Ctrl + Shift + /|\  Block comment/uncomment selected lines.
   Ctrl + Shift + F  Quickly formats your java code based on your preferences set up under Window –> Preferences.
   Ctrl + I  Correct indentations.
   Alt + Up|Down  move the highlighted code up/down one line. If nothing is selected, selects the current line.
   Ctrl + D  Delete row.
   Alt + Shift + Up|Down|Left|Right  select increasing semantic units.
   Ctrl + Shift + O  Organize Imports.
   Alt + Shift + S  Brings up Source menu.
o   Shift + Alt + S, R  Generate getter/setter.
o   Shift + Alt + S, O  Generate constructor using fields.
o   Shift + Alt + S, C  Generate constructor from superclass.
   Alt + Shift + T  Brings up Refactor menu.
   Alt + Shift + J  Insert javadoc comment.
   F2  Display javadoc popup for current item. Shift + F2  Display javadoc in external browser.

Run/Debug:

   F11 / Ctrl + F11  Execute/debug.
   Ctrl + Shift +B  Toggle breakpoint.
   When paused: F5  Step into, F6  Step over, F7  Step out, F8  Resume.
   Ctrl + F2  Terminate.

EOF

7

それほど隠されていませんが、IMOは最高のトリックです。

デフォルト設定を想定している(そして新しいスニペットを追加していない)

テキスト(文字列または変数)を強調表示(または選択)します... Ctrl + Spaceを押します。End + Enterを押します。「sysout」スニペットがトリガーされ、選択をパラメーターとしてラップします。

例えば。

 "hello world!"

becomes
System.out.println("hello world!");

AndroidのToastとLog.i()に同様のスニペットを実装したので、手動デバッグ中に時間を大幅に節約できました。


わあ、どうして私はこれについて知りませんでしたか?ありがとうございました!
MatrixFrog

ええと、Endを押すと、候補リストの最後ではなく、選択した文字列の最後に移動します。
serg、

終了する前に、追加の「下」キーを押す必要があるかもしれません... :(
st0le
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.