web-dev-qa-db-fra.com

IntelliJ Organize Imports

IntelliJ dispose-t-il d'une fonctionnalité Organiser les importations similaire à celle d'Eclipse? Ce que j'ai est un fichier Java avec plusieurs classes manquant leurs importations. Exemple:

package com.test;
public class Foo {
    public Map map;
    public JTable table;
}

Dans Eclipse, je pouvais utiliser Organize Imports pour importer automatiquement Java.util.Map et javax.swing.JTable. Dans IntelliJ, je dois aller individuellement à chaque classe, la sélectionner, puis appuyer sur Alt-Entrée. Il existe une fonction Optimiser les importations, mais tout ce qu'elle semble faire est de trier et d'étendre les importations existantes.

J'utilise IntelliJ 10.5.

234
Steve Kuo

Juillet 2015 - J'ai conclu qu'IntelliJ ne prend pas en charge la résolution automatique des importations avec une seule fonction. "Organiser les importations" supprime simplement les importations inutilisées, mais ne résout pas les types non importés. Control-Space résout un type unique non importé. Il n'existe pas d'action unique pour résoudre les importations de tous les types.

42
Steve Kuo

Ctrl + Alt + O ( Code → Optimiser les importations ... ) est ce que vous recherchez, à la fois sous Windows/Linux et sur les cartes de correspondance macOS.

Il dit "Optimiser", mais s'il est configuré pour le faire, il va également:

  • organiser les importations existantes
  • supprimer les importations inutiles
  • ajouter de nouvelles importations requises
  • ajouter des importations sans ambiguïté à la volée

Vous pouvez régler les paramètres de l’importation automatique sous "" Paramètres → Editeur → Général → Importation automatique " comme décrit par Dave .

Vous pouvez également modifier la manière dont les importations sont commandées automatiquement sous " Paramètres → Editeur → Style de code → Java → Importations "

330
Ryan Stewart

Sous "Settings -> Editor -> General -> Auto Import" il y a plusieurs options concernant les importations automatiques. Seules les importations non ambiguës peuvent être ajoutées automatiquement. c'est l'une des options.

98
Dave Newton

La solution simple et courte a fonctionné pour moi.

Allez à File -> Settings -> Editor -> Auto Import -> Java (panneau de gauche) et effectuez les opérations suivantes: Cochez la case " Add unambigious imports on the fly "et" Optimize imports on the fly "

Référez-vous ceci.

enter image description here

45
Rohit Mandiwal

Outre Optimize Imports et Auto Import, qui ont été signalés par @ dave-newton et @ ryan-stewart dans les réponses précédentes, accédez à:

  • IDÉE <= 13: File menu > Settings > Code Style > Java > Imports
  • IDEA> = 14: File menu > Settings > Editor > Code Style > Java > Imports (merci à @ mathias-bader pour l'indice!) Settings dialog

Vous pouvez y affiner le regroupement et la commande ou les importer, "Class count to use import with '*'", etc.

Remarque:
depuis IDEA 13, vous pouvez configurer les paramètres par défaut du projet à partir de la IDEA "page de démarrage": Configure > Project defaults > Settings > .... Ensuite, chaque nouveau projet aura ces paramètres par défaut: enter image description here

42
t0r0X

Dans IntelliJ 14, le chemin d'accès aux paramètres d'importation automatique a été modifié. Le chemin est

IntelliJ IDEA-> Préférences-> Editeur-> Général-> Importation automatique

puis suivez les instructions ci-dessus, en cliquant sur Ajouter des importations non ambiguës à la volée

Je ne peux pas imaginer pourquoi cela ne serait pas réglé par défaut.

9
Joe

accédez au fichier où vous souhaitez organiser les importations ou cliquez simplement sur le tout package ou même cliquez sur le projet que appuyez sur CTRL + ALT + O

8

J'ai finalement créé une solution de contournement autour de ce problème frustrant. Je ne suis pas complètement satisfait de la solution de contournement, mais c'est mieux que rien.

En gros, après avoir collé le code source et corrigé les importations, appuyez simplement sur F2 pour mettre en surbrillance la prochaine erreur du compilateur. Si l'erreur actuelle est une erreur manquante lors de l'importation, appuyez sur Alt+Enter, puis sur Enter pour sélectionner l'option Import, puis sélectionnez l'importation appropriée. Ensuite, appuyez à nouveau sur F2.

2
Martin Vysny

Déplacez simplement votre souris sur la vue manquante et appuyez sur les touches de Windows ALT + ENTER

2
Baig

Raccourci pour le Mac: (ctrl + opt + o)

2
Tiago Gaspar

ALT + ENTER était loin de l'habitude Eclipse, dans IDEA pour moi, le survol de la souris ne fonctionnait pas, donc dans setting>IDESetting>Keymap>Show intention actions and quick-fixes je le changeai en clic gauche de la souris. mais le clic gauche de la souris était OK et se rapprochait de mon intention.

2
Ali.Mojtehedy

S'il vous manque une seule importation (le nom de la classe est souligné en rouge), cliquez dessus et passez la souris dessus pour afficher une instruction d'importation suggérée bleue. Si vous appuyez sur, Alt + Entrée à ce stade, l'importation sera incluse dans le fichier et le soulignement rouge devrait disparaître.

0
Zorayr

Ce plugin effectuera automatiquement l'action "organiser l'importation" lors de la sauvegarde d'un fichier: https://github.com/dubreuia/intellij-plugin-save-actions .

Pour installer: "Fichier> Paramètres> Plug-ins> Parcourir les référentiels ...> Recherchez" Actions de sauvegarde "> Catégorie" Outils de code "". Activez ensuite l'action de sauvegarde "Organiser l'importation".

0
Alexandre DuBreuil