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
Looking at the list of issues on Atom Beautify, at the time of writing this, there are 51 open and 155 closed. I see and strongly feel that Atom Beautify needs a more love than I currently have allocated time to give it, after work, school, and family.
I am now accepting donations to support the development of Atom Beautify. Being the sole maintainer of Atom Beautify, I thank you very much for any support and for using Atom Beautify.
These donations will help me continue with my contributions to the community while providing me with some much needed financial support for living expenses and my education.
You can donate at https://gratipay.com/Glavin001/
Thank you. Glavin Wiechert
- JavaScript and JSON
- HTML, including
- Handlebars
- Mustache
- Embedded Ruby (ERB)
- Requires htmlbeautifier
- XML
- Marko
- Requires language-marko
- CSS, including
- SQL
- Requires python-sqlparse
- Markdown
- Requires Pandoc to be already installed
- Perl
- PHP
- Requires php-cs-fixer to be already installed.
- Python
- Ruby
- Requires Ruby Beautify
- CoffeeScript
- Java
- Requires Uncrustify
- C
- Requires Uncrustify
- C++
- Requires Uncrustify
- C#
- Requires Uncrustify
- Objective-C
- Requires Uncrustify
- D
- Requires Uncrustify
- Pawn
- Requires Uncrustify
- Vala
- Requires Uncrustify
- TypeScript
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.
You can also type ctrl-alt-b
as a shortcut or click Packages > Beautify
in the menu.
See Keymaps In-Depth for more details.
For example:
'.editor':
'ctrl-alt-b': 'beautify:beautify-editor'
-
beautifyOnSave
(Default false) You can also choose to beautify on every file save. -
beautifyEntireFileOnSave
(Default true) Beautification will normally only beautify your selected text. However, when beautification occurs on save then it will be forced to beautify the entire file's contents, not just selected text. -
disabledLanguages
(Default empty array) An array of Grammar names to disable beautification for. Note: If using the Atom's Package Settings then an array is represented as comma-separated string. -
muteUnsupportedLanguageErrors
(Default false) Mute only unsupported language errors. -
muteAllErrors
(Default false) Do not show the Atom Beautify Error Messages panel for any of the errors occurring while beautifying. -
analytics
(Default true) There is Segment.io, which forwards the data to Google Analytics, to track what languages are being used the most and other stats. Everything is anonymized and no personal information, such as source code, is sent. See Glavin001#47 for more details.
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 way inside examples/
Option table is available at the js-beautify repo.
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
}
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
}
}
To use with PHP we require php-cs-fixer
and that you set the Php cs fixer path
in the package settings.
Run which php-cs-fixer
in your Terminal.
To use with Python we require autopep8
and that you set the Python autopep8 path
in the package settings.
Run which autopep8
in your Terminal.
To use with Markdown we require pandoc
and you set the Markdown Pandoc path
in the package settings.
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.