web-dev-qa-db-fra.com

Eclipse optimise les importations pour inclure les importations statiques

Existe-t-il un moyen pour qu'Eclipse recherche automatiquement les importations statiques? Par exemple, maintenant que je suis enfin passé à Junit 4, j'aimerais pouvoir écrire:

assertEquals(expectedValue, actualValue);

frappé Ctrl + Shift + O et avoir Eclipse ajouter:

import static org.junit.Assert.assertEquals;

Peut-être que je demande trop.

402
Paul Croarkin

J'utilise Eclipse Europa, qui contient également la section Préférences de favoris:

Fenêtre> Préférences> Java> Éditeur> Assistant de contenu> Favoris

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

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

Tous sauf le tiers sont des importations statiques. En les ayant comme favoris, si je tape "assertT" et clique sur Ctrl+Space, Eclipse offre la suggestion assertThat, et si je la choisis, elle ajoutera l’importation statique appropriée au fichier.

564
Joey Gibson

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

239
Dave L.

Eclipse 3.4 a une section Favoris sous Fenêtre-> Préférences-> Java-> Editeur-> Assistant de contenu

Si vous utilisez beaucoup org.junit.Assert, vous pourrez peut-être trouver quelque chose à ajouter.

31
Bill Michell

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

Fenêtre-> Préférences-> Java-> Editeur-> Assistant de contenu

et cochez la case tiliser les importations statiques (version 1.5 ou supérieure uniquement).

Cela n’apportera pas l’importation sur une optimisation des importations, mais si vous effectuez une réparation rapide (CTRL + 1) sur la ligne, vous aurez la possibilité d’ajouter l’importation statique, ce qui est suffisant.

21
Paul Croarkin

De aide au contenu pour les importations statiques

Pour obtenir des propositions d'assistance de contenu pour les membres statiques, configurez votre liste de membres statiques favoris dans la page de préférences Ouvre la page de préférences Java > Editor > Content Assist > Favorites.
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 de propositions.

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

enter image description here

10
Sumit Singh

Pour les tests SpringFramework, je vous recommande d’ajouter ce qui suit:

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 en tant que nouveau Type, il ajoute automatiquement. * Au package.

5
Neeraj

Raccourci pour l'importation statique: CTRL + MAJ + M

2
Michael Hegner

Dans Eclipse 4.9, vous pouvez importer de manière statique les invocations existantes à l'aide d'un correctif rapide.

Un nouveau correctif rapide a été implémenté. Il permet à l’utilisateur de convertir les accès aux champs statiques et les méthodes statiques pour utiliser une importation statique. Il est également possible de remplacer toutes les occurrences en même temps.

Plus de détails ici

2
Ankit Soni

Sélectionnez la constante, tapez

Ctrl + 1  (quick fix)

Sélectionnez "Convertir en importation statique". du bas vers le bas.

La "solution rapide" a des options même s'il ne s'agit pas d'une erreur.

2
teknopaul