How to auto-indent code in the Atom editor?

Code FormattingAtom EditorAuto Indent

Code Formatting Problem Overview


How do you auto-indent your code in the Atom editor? In other editors you can usually select some code and auto-indent it.

Is there a keyboard shortcut as well?

Code Formatting Solutions


Solution 1 - Code Formatting

I found the option in the menu, under Edit > Lines > Auto Indent. It doesn't seem to have a default keymap bound.

You could try to add a key mapping (Atom > Open Your Keymap [on Windows: File > Settings > Keybindings > "your keymap file"]) like this one:

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

It worked for me :)


For Windows:

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

Solution 2 - Code Formatting

The accepted answer works, but you have to do a "Select All" first -- every time -- and I'm way too lazy for that.

And it turns out, it's not super trivial -- I figured I'd post this here in an attempt to save like-minded individuals the 30 minutes it takes to track all this down. -- Also note: this approach restores the original selection when it's done (and it happens so fast, you don't even notice the selection was ever changed).

1.) First, add a custom command to your init script (File->Open Your Init Script, then paste this at the bottom):

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.) Bind "custom:reformat" to a key (File->Open Your Keymap, then paste this at the bottom):

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

3.) Restart Atom (the init.coffee script only runs when atom is first launched).

Solution 3 - Code Formatting

Package auto-indent exists to apply auto-indent to entire file with this shortcuts : > ctrl+shift+i

or

> cmd+shift+i

Package url : https://atom.io/packages/auto-indent

Solution 4 - Code Formatting

I prefer using atom-beautify, CTRL+ALT+B (in linux, may be in windows also) handles better al kind of formats and it is also customizable per file format.

more details here: https://atom.io/packages/atom-beautify

Solution 5 - Code Formatting

You can just quickly open up the command palette and do it there
Cmd + Shift + p and search for Editor: Auto Indent:

screenshot

Solution 6 - Code Formatting

This works for me:

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

You have to select all with ctrl-a first.

Solution 7 - Code Formatting

This is the best help that I found:

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

This package can be installed in Atom and then CTRL+ALT+B solve the problem.

Solution 8 - Code Formatting

If you have troubles with hotkeys, try to open Key Binding Resolver Window with Cmd + .. It will show you keys you're pressing in the realtime.

For example, Cmd + Shift + ' is actually Cmd + "

Solution 9 - Code Formatting

On Linux

(tested in Ununtu KDE)

There is the option in the menu, under Edit > Lines > Auto Indent or press Cmd + Shift + p, search for Editor: Auto Indent by entering just "ai"

Note: In KDE ctrl-alt-l is already globally set for "lock screen" so better use ctrl-alt-i instead.

You can add a key mapping in Atom:

  • Cmd + Shift + p, search for "Settings View: Show Keybindings"

  • click on "your keymap file"

  • Add a section there like this one:

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

If the indention is not working, it can be a reason, that the file-ending is not recognized by Atom. Add the support for your language then, for example for "Lua" install the package "language-lua".

If a File is not recognized for your language:

  • open the ~/.atom/config.cson file (by CTRL+SHIFT+p: type ``open config'')

  • add/edit a customFileTypes section under core for example like the following:

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

(You find the languages scope names ("source.lua", "text.html.php"...) in the language package settings see here)

Solution 10 - Code Formatting

You could also try to add a key mapping witch auto select all the code in file and indent it:

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

Solution 11 - Code Formatting

I was working on some groovy code, which doesn't auto-format on save. What I did was right-click on the code pane, then chose ESLint Fix. That fixed my indents.

enter image description here

Solution 12 - Code Formatting

If you are used to the Eclipse IDE or the Netbeans, you can use the package eclipse-keybindings (https://atom.io/packages/eclipse-keybindings):

> This Atom package provides Eclipse IDE key mappings for Atom. Currently, the Eclipse shortcuts are directly mapped to existing Atom commands.

To format all lines from a file, just use: Ctrl+Shift+F.

Solution 13 - Code Formatting

Ctrl+Shift+i worked for me in PHP under Windows ... but some files did not react. Not being the brightest it took me a while to work out that it was the include files that were the problem. If you are using echo(' ... PHP ...') then the PHP does not get re-formatted. To get over this, create a temporary PHP file, say t.php, copy the PHP part into that, reindent it (Ctrl+Shift+i ... did I mention that?) and then copy the newly reformatted PHP back into the original file. Whilst this is a pain, it does give you correctly formatted PHP.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAndersView Question on Stackoverflow
Solution 1 - Code FormattingNacho L.View Answer on Stackoverflow
Solution 2 - Code FormattingBrainSlugs83View Answer on Stackoverflow
Solution 3 - Code FormattingfhcosoView Answer on Stackoverflow
Solution 4 - Code FormattingungalcrysView Answer on Stackoverflow
Solution 5 - Code FormattingcodingninjaView Answer on Stackoverflow
Solution 6 - Code Formattingdave doeView Answer on Stackoverflow
Solution 7 - Code FormattingMichel FernandesView Answer on Stackoverflow
Solution 8 - Code FormattingDmytroView Answer on Stackoverflow
Solution 9 - Code Formattingrubo77View Answer on Stackoverflow
Solution 10 - Code FormattingHristian YordanovView Answer on Stackoverflow
Solution 11 - Code FormattingJeff LoweryView Answer on Stackoverflow
Solution 12 - Code FormattingFabrício PereiraView Answer on Stackoverflow
Solution 13 - Code FormattingandywicksView Answer on Stackoverflow