How to auto-indent code in the Atom editor?
Code FormattingAtom EditorAuto IndentCode 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
:
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 undercore
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.
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.