2008-11-14 8 views
371

Existe-t-il de toute façon que Eclipse recherche automatiquement les importations statiques? Par exemple, maintenant que je l'ai enfin mis à jour à Junit 4, je voudrais pouvoir écrire:Eclipse optimise les importations pour inclure les importations statiques

assertEquals(expectedValue, actualValue); 

frappé Ctrl +Maj +O et ont Eclipse ajouter:

import static org.junit.Assert.assertEquals; 

Peut-être que je demande trop.

Répondre

537

J'utilise Eclipse Europa, qui a également la section de préférence préférée:

Fenêtre> Préférences> Java> Editor> Content Assist> Favoris

Dans le mien, j'ai les suivantes (entrées lors de l'ajout, utilisez « Nouveau type » et omettent le .*):

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

tous, mais le tiers des importations sont statiques. En ayant les favoris que, si je tape « assertT » et appuyez sur Ctrl + Espace, Eclipse offre jusqu'à assertThat comme une suggestion, et si je le prends, il ajoutera l'importation statique propre au fichier.

+0

Ouais génial, mais, Mec, vous avez seulement les matchers pour hamcrest. Cela n'apporte pas à AssertThat ..? – Rob

+0

[assertThat] (http://junit.sourceforge.net/javadoc/org/junit/Assert.html#assertThat%28T,%20org.hamcrest.Matcher%29) est sur Assert – plasma147

+0

+1 aussi. Bonne réponse –

19

Pas exactement ce que je voulais, mais j'ai trouvé une solution de contournement. Dans Eclipse 3.4 (Ganymede), passez à

Fenêtre-> Préférences-> Java-> Editor-> assistant de contenu

et cochez la case Utiliser les importations statiques (seulement 1,5 ou plus).

Cela n'apportera à l'importation sur une importation Optimiser, mais si vous faites un (Quick Fix CTRL +) sur la ligne, il vous donnera la possibilité d'ajouter l'importation statique qui est assez bon .

208

Si vous mettez en surbrillance la méthode Assert.assertEquals(val1, val2) et appuyez sur Ctrl + Maj +M (Ajouter importation), il ajoutera comme une importation statique, au moins dans Eclipse 3.4.

+10

cmd-shift-M sur le mac –

+13

Dans Eclipse Juno, je n'ai réussi à le faire fonctionner que si je souligne seulement la méthode et ensuite utiliser le CTRL + SHIFT + M. – ktulinho

+3

Cela devrait être le gagnant! –

30

Eclipse 3.4 a une section Favoris sous Fenêtre-> Préférences-> Java-> Editor-> Content Assist

Si vous utilisez org.junit.Assert beaucoup, vous trouverez peut-être une certaine valeur pour l'ajouter là-bas.

+0

+1 pour fournir le chemin d'accès à l'écran des préférences. – Grundlefleck

7

De Content assist for static imports

Pour obtenir le contenu des propositions pour aider les membres statiques configurer votre liste des membres statiques favoris sur les Opens la page Favoris préférences Java > Editor > Content Assist > Favorites page des préférences.
Par exemple, si vous avez ajouté java.util.Arrays.* ou org.junit.Assert.* à cette liste, toutes les méthodes statiques de ce type correspondant au préfixe d'achèvement seront ajoutées à la liste des propositions.

Ouvrir Window » Preferences » Java » Editor » Content Assist » Favorites

enter image description here

+1

Ceci est vraiment utile, aurait dû comprendre cela il ya des années - merci Sumit! – bobmarksie

3

Pour les tests de SpringFramework, je recommande d'ajouter le ci-dessous et

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 

Lorsque vous ajoutez ci-dessus comme nouveau type, il ajoute automatiquement. * À le paquet.

Questions connexes