atom-beautify
Beautify HTML (including Handlebars), CSS (including Sass and Less), JavaScript, and much more in Atom.
Atom Package: https://atom.io/packages/atom-beautify
apm install atom-beautify
Or Settings/Preferences ➔ Packages ➔ Search for atom-beautify
Language Support
- [x] JavaScript and JSON
- [x] HTML, including
- [x] Handlebars
- [x] Mustache
- [x] Embedded Ruby (ERB)
- Requires htmlbeautifier
- [x] XML
- [x] SVG
- [x] Marko
- Requires language-marko
- [x] CSS, including
- [x] SQL
- Requires python-sqlparse
- [x] Markdown
- [x] Perl
- Requires perltidy
- [x] PHP
- Requires php-cs-fixer to be already installed.
- [x] Python
- [x] Ruby
- Requires Ruby Beautify
- [x] CoffeeScript
- [x] Golang
- [x] Java
- Requires Uncrustify
- [x] C
- Requires Uncrustify
- [x] C++
- Requires Uncrustify
- [x] C#
- Requires Uncrustify
- [x] Objective-C
- Requires Uncrustify
- [x] D
- Requires Uncrustify or dfmt
- [x] Fortran
- Requires GNU Emacs
- [x] Pawn
- Requires Uncrustify
- [x] Vala
- Requires Uncrustify
- [x] TypeScript
- [x] Haskell
- Requires stylish-haskell
- [x] Elm
- Requires Elm-Format
- [x] Erlang
- Requires erlang syntax_tools to be installed
Usage
Open the Command Palette, and type Beautify
.
It will only beautify selected text if a selection is found -- if not, the whole file will be beautified.
Shortcut
You can also type ctrl-alt-b
as a shortcut or click Packages > Beautify
in the menu.
Custom Keyboard Shortcuts
See Keymaps In-Depth for more details.
For example:
'.editor':
'ctrl-alt-b': 'atom-beautify:beautify-editor'
Configuration
Edit your .jsbeautifyrc
file in any of the following locations:
- Atom Package Settings
Atom
➔Preferences
➔ Search foratom-beautify
- Same directory as current file
- Project root
atom-beautify
will recursively look up from the current file's directory to find.jsbeautifyrc
. - Your user's home directory
Note: Comments are supported in .jsbeautifyrc
thanks to strip-json-comments.
See examples of both ways inside examples/
See all supported options in the documentation at docs/options.md
.
Simple
See examples/simple-jsbeautifyrc/.jsbeautifyrc.
{
"indent_size": 2,
"indent_char": " ",
"other": " ",
"indent_level": 0,
"indent_with_tabs": false,
"preserve_newlines": true,
"max_preserve_newlines": 2,
"jslint_happy": true,
"indent_handlebars": true
}
Nested
See examples/nested-jsbeautifyrc/.jsbeautifyrc.
{
"html": {
"brace_style": "collapse",
"indent_char": " ",
"indent_scripts": "normal",
"indent_size": 6,
"max_preserve_newlines": 1,
"preserve_newlines": true,
"unformatted": ["a", "sub", "sup", "b", "i", "u"],
"wrap_line_length": 0
},
"css": {
"indent_char": " ",
"indent_size": 4
},
"js": {
"indent_size": 2,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": false,
"preserve_newlines": true,
"max_preserve_newlines": 2,
"jslint_happy": true
},
"sql": {
"indent_size": 4,
"indent_char": " ",
"indent_level": 0,
"indent_with_tabs": false
}
}
Contributing
See all contributors on GitHub.
Please update the CHANGELOG.md, add yourself as a contributor to the package.json, and submit a Pull Request on GitHub.