web-dev-qa-db-fra.com

Comment auto-indenter le code dans l'éditeur Atom?

Comment indenter automatiquement votre code dans l'éditeur Atom? Dans d'autres éditeurs, vous pouvez généralement sélectionner du code et le mettre automatiquement en retrait. 

Existe-t-il également un raccourci clavier?

360
Anders

J'ai trouvé l'option dans le menu, sous Edition> Lignes> Indentation automatique. Il ne semble pas y avoir de clavier par défaut lié.

Vous pouvez essayer d’ajouter un mappage de touches (Atom> Ouvrez votre Keymap [sous Windows: Fichier> Paramètres> Claviers> "votre fichier de keymap"]) comme celui-ci:

'atom-text-editor':
  'cmd-alt-l': 'editor:auto-indent'

Cela a fonctionné pour moi :)


Pour les fenêtres:

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'
625
Nacho L.

La réponse acceptée fonctionne, mais vous devez d'abord sélectionner "Tout sélectionner" - à chaque fois - et je suis trop paresseux pour cela.

Et il s’avère que ce n’est pas super trivial - j’ai pensé que j’afficherais ceci ici pour tenter de sauver des personnes partageant les mêmes idées des 30 minutes qu’il faut pour tout comprendre. - Notez également que cette approche rétablit la sélection d'origine une fois que celle-ci est terminée (et cela se produit si rapidement que vous ne remarquerez même pas que la sélection a déjà été modifiée).

1.) Tout d'abord, ajoutez une commande personnalisée à votre script d'initialisation (Fichier-> Ouvrez votre script d'initialisation, puis collez-la en bas):

atom.commands.add 'atom-text-editor', 'custom:reformat', ->
    editor = atom.workspace.getActiveTextEditor();
    oldRanges = editor.getSelectedBufferRanges();
    editor.selectAll();
    atom.commands.dispatch(atom.views.getView(editor), 'editor:auto-indent')
    editor.setSelectedBufferRanges(oldRanges);

2.) Liez "custom: reformat" à une clé (Fichier-> Ouvrez votre Keymap, puis collez-la en bas):

'atom-text-editor':
    'ctrl-alt-d': 'custom:reformat'

3.) Redémarrez Atom (le script init.coffee ne s'exécute que lorsque atom est lancé pour la première fois).

81
BrainSlugs83

L'indentation automatique du package existe pour appliquer l'indentation automatique à fichier entier avec ce raccourci clavier :

ctrl+shift+i

ou

cmd+shift+i

URL du package: https://atom.io/packages/auto-indent

40
colundrum

Je préfère utiliser atome-beautify, CTRL+ALT+B (sous Linux, peut-être aussi sous Windows) gère mieux tous les types de formats et il est également personnalisable par format de fichier.

plus de détails ici: https://atom.io/packages/atom-beautify

22
ungalcrys

Vous pouvez simplement ouvrir rapidement la palette de commandes et le faire ici
Cmd + Shift + p et recherchez Editor: Auto Indent:

screenshot

15
codingninja

Cela fonctionne pour moi:

'atom-workspace atom-text-editor':
    'ctrl-alt-a': 'editor:auto-indent'

Vous devez tout sélectionner avec ctrl-a first.

5
dave doe

Si vous avez des problèmes avec les raccourcis clavier, essayez d’ouvrir Key Binding Resolver Window avec Cmd + .. Il vous montrera les touches sur lesquelles vous appuyez en temps réel.

Par exemple, Cmd + Shift + ' est en fait Cmd + "

2
Dmitriy

C'est la meilleure aide que j'ai trouvée:

https://atom.io/packages/atom-beautify

Ce paquet peut être installé dans Atom puis CTRL + ALT + B résoudront le problème.

1
Michel Fernandes

Sur Linux

(testé dans Ununtu KDE)

Il existe une option dans le menu sous Édition> Lignes> Indentation automatique ou appuyez sur Cmd + Shift + p, recherchez Editor: Auto Indent en entrant simplement "ai"

Remarque: Dans KDE, ctrl-alt-l est déjà défini globalement pour "écran verrouillé". Il vaut donc mieux utiliser ctrl-alt-i à la place.

Vous pouvez ajouter un mappage de clé dans Atom:

  • Cmd + Shift + p, recherchez "Affichage des paramètres: Afficher les raccourcis clavier"
  • cliquez sur "votre fichier de keymap"
  • Ajoutez une section comme celle-ci:

     'atom-text-editor':
        'ctrl-alt-i': 'editor:auto-indent'
    

Si l'indentation ne fonctionne pas, cela peut être une raison pour que la fin du fichier n'est pas reconnue par Atom. Ajoutez le support pour votre langue, puis, par exemple pour "Lua", installez le paquet "language-lua".

Si un fichier n'est pas reconnu pour votre langue:

  • ouvrez le fichier ~/.atom/config.cson (par CTRL + SHIFT + p: tapez "open config")
  • ajoutez/modifiez une section customFileTypes sous core, par exemple, comme suit:

    core:
      customFileTypes:
        "source.lua": [
          "conf"
        ]
        "text.html.php": [
          "thtml"
        ]
    

(Vous trouvez les noms d'étendue des langues ("source.lua", "text.html.php" ...) dans les paramètres du package de langue voir ici )

0
rubo77

Je travaillais sur un code groovy, qui ne se formate pas automatiquement lors de la sauvegarde. Ce que j'ai fait était de cliquer avec le bouton droit sur le volet de code, puis de choisir ESLint Fix. Cela a corrigé mes retraits.

 enter image description here

0
Jeff Lowery

Vous pouvez également essayer d’ajouter un mappage de clé qui sélectionne automatiquement tout le code dans le fichier et l’indente

'atom-text-editor':
  'ctrl-alt-l': 'auto-indent:apply'
0
Hristian Yordanov