432 votes

Reformatage Intellij lors de l'enregistrement du fichier

Je me souviens avoir vu dans IntelliJ ou Eclipse le paramètre permettant de reformater (nettoyer) les fichiers à chaque fois qu'ils sont enregistrés. Comment puis-je le trouver (je ne l'ai pas trouvé dans les paramètres) ?

473voto

Neil Points 1841

Cette solution a mieux fonctionné pour moi :

  1. Créez une macro (j'ai utilisé Organiser les importations, Formater le code, Sauvegarder tout).
  2. Attribuez-lui une touche (j'ai remplacé la touche Ctrl + S )

Note : Vous devrez cocher la case "Ne plus afficher ce message" la première fois pour les importations organisées, mais cela fonctionne comme prévu ensuite.

Pas à pas pour IntelliJ 10.0 :

  1. Code -> "Optimiser les importations...", si une boîte de dialogue apparaît, cochez la case qui dit "Ne plus afficher ce message.", puis cliquez sur "Exécuter".
  2. Outils -> "Démarrer l'enregistrement des macros"
  3. Code -> "Optimiser les importations..."
  4. Code -> "Reformater le code..."
  5. Fichier -> "Enregistrer tout"
  6. Outils -> "Arrêter l'enregistrement des macros"
  7. Nommez la macro (quelque chose comme "sauvegarde formatée").
  8. Dans Fichier -> Paramètres -> Keymap, sélectionnez votre macro située dans "Menu principal -> Outils -> "enregistrement formaté".
  9. Cliquez sur "Ajouter un raccourci clavier", puis effectuez la frappe que vous souhaitez. Si vous choisissez Ctrl + S comme moi, il vous demandera ce qu'il faut faire avec l'ancienne version. Ctrl + S raccourci. Supprimez-le. Vous pourrez toujours le réaffecter plus tard si vous le souhaitez.
  10. Profitez-en !

Pour IntelliJ 11, remplacez

étape 2. avec : Edition -> Macros -> "Démarrer l'enregistrement des macros".
étape 6. avec : Edition -> Macros -> "Arrêter l'enregistrement des macros".

Tout le reste reste inchangé.

IntelliJ 12

8. Les Préférences contiennent les paramètres de Keymap. Utilisez le champ de saisie pour filtrer le contenu, comme le montre la capture d'écran.

Intellij / Preferences / Keymap / Macros

5 votes

Dans IntelliJ 11 : 1 : Démarrez l'enregistrement de la macro : Edition -> Macros -> Démarrer l'enregistrement des macros. 2 : Suivez les instructions ci-dessus. 3 : Arrêtez l'enregistrement de la macro : Édition -> Macros -> Arrêter l'enregistrement de la macro. Dans le Keymap, la macro est enregistrée dans le dossier Macros au lieu du dossier Menu principal -> Outils.

3 votes

Si vous êtes satisfait de la façon dont le code est reformaté, cette approche fonctionne beaucoup mieux si vous choisissez de reformater tous dans le projet et sauvegarder le tout. Sinon, lorsque vous effectuez des modifications sur plusieurs fichiers, seul le fichier actif est reformaté avant que toutes les modifications soient enregistrées.

0 votes

J'utilise intellij 11. La macro ne forme que le fichier qui est ouvert et non le projet entier. Que puis-je faire ?

95voto

user3858354 Points 21

Vous trouverez ci-dessous la réponse de Neil mise à jour.

IntelliJ 13 Étapes :

  1. Code -> Reformatage du code enter image description here
  2. Edition -> Macros -> Démarrer l'enregistrement des macros
  3. Code -> Reformatage du code
  4. Fichier -> Enregistrer tout
  5. Editer -> Macros -> Arrêter l'enregistrement des macros
  6. Nommez la macro (quelque chose comme "sauvegarde formatée").
  7. Fichier -> Paramètres -> Keymap
  8. Faites un clic droit sur la macro. Ajouter un raccourci clavier. Définissez le raccourci clavier sur Contrôle + S. enter image description here
  9. IntelliJ vous informe d'un conflit de touches de raccourci. Sélectionnez "remove" pour supprimer les autres affectations.

1 votes

Mais cela supprime l'action "Enregistrer". Ce que le posteur a vu, c'est que dans Eclipse, nous avons la possibilité de formater le code et d'organiser l'importation automatiquement lorsqu'un fichier est enregistré. Cette option est (je suppose) absente dans IntelliJ idea. Il s'agit d'un contournement qui implique de lier la touche de sauvegarde à la touche de reformatage.

3 votes

Je ne suis pas d'accord, @GaneshKrishnan. Cette solution de contournement ne lie pas la "touche d'enregistrement" à la "touche de reformatage". Il la lie à une macro qui "reformate" le fichier. y sauve", ce qui est exactement ce qui a été demandé par le PO et ce qui est implémenté dans Eclipse, mais déclenché par une case à cocher.

1 votes

Je pense que pour l'étape 1, vous voulez dire "Code -> Show Reformat File Dialog" pour définir les valeurs par défaut de la boîte de dialogue Reformat File (afin qu'elles soient définies correctement pour l'étape 3 - Reformat Code) ?

60voto

William Pietri Points 1401

Je l'ai configuré pour qu'il nettoie automatiquement lors de l'enregistrement, ce qui est généralement suffisant pour moi. Si quelque chose est trop moche, j'utilise le raccourci ( Ctrl - Alt - L , Return ). Et je vois qu'ils ont une option pour le formatage automatique du code collé, bien que je ne l'ai jamais utilisée.

12 votes

Vous pouvez également utiliser Ctrl-Shift-F pour formater. Cela fonctionne bien mieux pour moi, puisque Ctrl-Alt-L est la commande de verrouillage de l'écran sur Ubuntu.

24 votes

Ctrl+Shift+F est Trouver dans le chemin .

7 votes

Comment faire en sorte que quelque chose se produise à l'enregistrement ?

21voto

joeslice Points 2769

Ctrl + Alt + L est un fichier de format (comprend les deux ci-dessous)

Ctrl + Alt + O est d'optimiser les importations

Ctrl + Alt + I fixera l'indentation sur une ligne particulière

J'ai l'habitude de courir Ctrl + Alt + L plusieurs fois avant de valider mon travail. Je préfère qu'il fasse le nettoyage/le reformatage à ma demande plutôt qu'automatiquement.

0 votes

Remplacer Ctrl par Cmd pour Mac

13 votes

Attention à Linux car Ctrl + Alt + L est communément appelé Lock Session. Vous devez remapper une des fonctions.

0 votes

La touche Ctrl-Alt-L peut être déliée dans Ubuntu. stackoverflow.com/q/24908490/53897

10voto

cwc Points 3995

J'ai fini par rebrancher le Reformat code... action pour Ctrl - S qui remplace la liaison par défaut de Save All .

Cela peut sembler fou au premier abord, mais IntelliJ semble économiser sur pratiquement chaque action : exécution des tests, construction du projet, même lors de la fermeture d'un onglet de l'éditeur. J'ai l'habitude d'appuyer sur Ctrl - S assez souvent, donc ça marche plutôt bien pour moi. Il est certainement plus facile à taper que le lien par défaut pour le reformatage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X