Eclipseインポートを最適化して静的インポートを含める


411

とにかくEclipseに静的インポートを自動的に検索させる方法はありますか?たとえば、ようやくJunit 4にアップグレードしたので、次のように記述できるようにしたいと思います。

assertEquals(expectedValue, actualValue);

ヒットCtrl+ Shift+ OとEclipseのアドオンがあります。

import static org.junit.Assert.assertEquals;

たぶん私はあまりにも多くを求めています。

回答:


572

私はEclipse Europaを使用していますが、これにも[お気に入り]設定セクションがあります。

ウィンドウ>設定> Java>エディター>コンテンツアシスト>お気に入り

私の場合、次のエントリがあります(追加するときは、「新しいタイプ」を使用し、を省略します.*)。

org.hamcrest.Matchers.*
org.hamcrest.CoreMatchers.*
org.junit.*
org.junit.Assert.*
org.junit.Assume.*
org.junit.matchers.JUnitMatchers.*

それらの3番目を除くすべてが静的インポートです。それらをお気に入りとして持つことで、「assertT」と入力してCtrl+Spaceを押すと、EclipseがassertThat提案として提示し、それを選択すると、適切な静的インポートがファイルに追加されます。


26
ああ-トリックは単にをorg.junit.Assert介して追加することでNew Type...あり、.*それから暗黙的です
KomodoDave 2012

5
自動インポートでCtrl+Shift+oは必要なインポートが追加されず、実際にはカーソルを合わせてAdd static import..オプションを選択する必要がありますか?通常の自動インポート選択リストダイアログが表示されないのは残念です。
KomodoDave 2012

2
J.Stoever @ -あなたはJUnitの4を使用している場合は、Hamcrestフォームを使用することをお勧めします:assertThat(value, is(expected));
デヴィッド・ハークネス

2
私はEclipse Keplerでこれを試しましたが、役に立ちませんでした。Eclipseも再起動しました。オートコンプリートはなく、ホバリングまたはCTRL + 1を押したときの静的インポートの選択はありません。
Magnilex 2014年

2
Intellij Ideaはすぐにこれをサポートします。恥食はしません。
Neeraj 2018

242

あなたがメソッドを強調表示した場合Assert.assertEquals(val1, val2)とヒットCtrl+ Shift+ M(インポートを追加します)、それは少なくとも、Eclipseの3.4で、静的インポートとして追加します。


11
Macでのcmd-shift-M
Joshua Goldberg

15
Eclipse Junoでは、メソッドのみを強調表示し、その後CTRL + SHIFT + Mを使用した場合にのみ機能しました
。– ktulinho

5
これが勝者になるはずです!
クリントイーストウッド

静的フィールドAX-> X(非常にAXおよびCtrl + Shift + M)でも機能します。ありがとう。まさに私が欲しかったもの。
Eyad Ebrahim 2013

5
ルナで私のために働く。カーソルがピリオドの右側にあることを確認してください。私がこの数年前に学んだことを願っています!
HDave 2014

31

Eclipse 3.4には、[ウィンドウ]-> [設定]-> [Java]-> [エディタ]-> [コンテンツアシスト]の下に[お気に入り]セクションがあります。

org.junit.Assertたくさん使うなら、そこに追加する価値があるかもしれません。


21

私が欲しかったものではありませんが、回避策を見つけました。Eclipse 3.4(Ganymede)で、

ウィンドウ->設定-> Java->エディター->コンテンツアシスト

[ 静的インポート使用する(1.5以上のみ)]チェックボックスをオンにします

これにより、インポートの最適化でインポートは行われませんが、行でクイックフィックス(CTRL+ 1)を実行すると、十分に優れた静的インポートを追加するオプションが表示されます。


10

静的インポートのコンテンツアシストから

静的メンバーのコンテンツアシストの提案を取得するには、[お気に入りの設定]ページのJava > Editor > Content Assist > Favorites設定ページを開き、お気に入りの静的メンバーのリストを構成します。
たとえば、java.util.Arrays.*またはorg.junit.Assert.*このリストに追加した場合、完了接頭辞に一致するこのタイプのすべての静的メソッドが提案リストに追加されます。

開いた Window » Preferences » Java » Editor » Content Assist » Favorites

ここに画像の説明を入力してください


5

SpringFrameworkテストの場合は、以下も追加することをお勧めします

org.springframework.test.web.servlet.request.MockMvcRequestBuilders
org.springframework.test.web.servlet.request.MockMvcResponseBuilders
org.springframework.test.web.servlet.result.MockMvcResultHandlers
org.springframework.test.web.servlet.result.MockMvcResultMatchers
org.springframework.test.web.servlet.setup.MockMvcBuilders
org.mockito.Mockito

上記を新しいタイプとして追加すると、自動的に。*がパッケージに追加されます。



2

定数を選択して入力

Ctrl + 1  (quick fix)

[静的インポートに変換]を選択します。ドロップダウンから。

「クイックフィックス」には、エラーではありませんが、オプションがあります。


1

Eclipse 4.9では、クイックフィックスを使用して既存の呼び出しを静的にインポートできます。

ユーザーが静的フィールドアクセスと静的メソッドを変換して静的インポートを使用できるようにする、新しいクイックフィックスが実装されました。すべてのオカレンスを同時に置き換えることもできます。

詳細はこちら

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.