📣 Help Wanted - Looking for Maintainer: https://github.com/Glavin001/atom-beautify/issues/2572 | 💄 Universal beautification package for Atom editor (⚠️ Currently migrating to https://github.com/Unibeautify/ and have very limited bandwidth for Atom-Beautify Issues. Thank you for your patience and understanding ❤️ )
Go to file
Glavin Wiechert 4e113794ef Add very rough ROADMAP 2016-08-26 01:32:43 -03:00
appveyor See #375. Add Python, Pip, autopep8 installation to AppVeyor 2015-05-30 22:32:54 -03:00
docs LESS, SASS, SCSS tests should expect newlines 2016-07-30 13:45:17 -07:00
examples Implement Vue Beautifier 2016-08-16 10:26:53 +08:00
keymaps Closes #178. Change commands' namespace from "beautify" to "atom-beautify" 2015-05-06 13:00:51 -03:00
menus See #213. Disable `Beautify Directory` command from menus 2015-06-11 21:58:43 -03:00
script Close #596. Improve README documentation 2016-07-02 19:28:01 -03:00
spec Fix AppVeyor CI 2016-08-16 14:05:06 +08:00
src Merge pull request #1127 from emileber/json-warning 2016-08-22 09:44:32 -03:00
styles Fix incorrectly named directory for Stylesheets. 2015-02-02 12:42:33 -04:00
.codoopts See #596. Add source code documentation to docs/code/ 2016-03-03 20:24:13 -04:00
.csscomb.json Closes #209. Add CSScomb beautifier for CSS/LESS/SCSS/Sass languages. 2015-05-03 01:01:33 -03:00
.gitignore See #876, #679. Build beautifier options postinstall instead of activate 2016-03-29 15:49:51 -03:00
.jshintrc Closes #47. Switch Analytics from Google Analytics to Segment.io 2014-08-03 16:12:07 -04:00
.mention-bot Add package.json to mention-bot file blacklist 2016-03-03 18:54:03 -04:00
.npmignore See #596. Add source code documentation to docs/code/ 2016-03-03 20:24:13 -04:00
.travis.yml Lua beautifier 2016-06-07 20:17:34 +02:00
CHANGELOG.md Added notification for both YAML and JSON .jsbeautifyrc parse error 2016-08-09 22:40:32 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md 2015-08-17 21:17:57 -03:00
ISSUE_TEMPLATE.md Close #1061. Help Debug Editor command creates Gist (no Clipboard) 2016-07-19 01:17:21 -03:00
LICENSE.md See #282. Update README for new options and language requirements 2015-05-02 20:25:04 -03:00
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md 2016-02-18 17:37:32 -04:00
README-template.md Close #1083. Add table of supported Operating Systems 2016-07-22 11:27:47 -03:00
README.md See #47. Add important notice for Analytics tracking to README 2016-08-25 13:56:01 -03:00
ROADMAP.md Add very rough ROADMAP 2016-08-26 01:32:43 -03:00
appveyor.yml Fix AppVeyor CI 2016-08-16 14:05:06 +08:00
build-package.sh Update Travis CI scripts and config 2016-05-14 13:53:15 -03:00
coffeelint.json Beautify all src/ files to pass linting with Coffeelint 2015-06-11 22:57:03 -03:00
package.json Merge pull request #1127 from emileber/json-warning 2016-08-22 09:44:32 -03:00

README.md

💄 atom-beautify

Mac OS
Build Status Build Status Build status

Gitter chat Paypal Donations

Throughput Graph

Beautify HTML, CSS, JavaScript, PHP, Python, Ruby, Java, C, C++, C#, Objective-C, CoffeeScript, TypeScript, Coldfusion, SQL, and more in Atom

Before After
Original HTML Beautified HTML
image image

Table of Contents

Installation

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

apm install atom-beautify

Or Settings/Preferences ➔ Packages ➔ Search for atom-beautify

Important Notice: Analytics

By default Anonymous Analytics is enabled. If you do not wish to have usage data sent to Google Analytics then please disable Anonymous Analytics option before using Atom-Beautify. See https://github.com/Glavin001/atom-beautify/blob/master/docs/options.md#anonymous-analytics for details. Thank you.

Language Support

See all supported options in the documentation at docs/options.md.

Language Grammars File Extensions Supported Beautifiers
Apex Apex .cls, .trigger Uncrustify (Default)
Arduino Arduino .ino, .pde Uncrustify (Default)
C C, opencl .h, .c, .cl Uncrustify (Default), clang-format
Coldfusion html .cfm, .cfml, .cfc Pretty Diff (Default)
CoffeeScript CoffeeScript .coffee Coffee Formatter, coffee-fmt (Default)
C++ C++ .h, .hh, .cc, .cpp, .cxx, .C, .c++, .hpp, .hxx, .h++ Uncrustify (Default), clang-format
Crystal Crystal .cr Crystal (Default)
C# C# .cs Uncrustify (Default)
CSS CSS .css CSScomb, JS Beautify (Default), Pretty Diff
CSV CSV .csv Pretty Diff (Default)
D D .d Uncrustify (Default), dfmt
EJS JavaScript Template, HTML (Angular) Pretty Diff (Default)
Elm Elm .elm elm-format (Default)
ERB HTML (Ruby - ERB), HTML (Rails) .erb HTML Beautifier, Pretty Diff (Default)
Erlang Erlang .erl erl_tidy (Default)
Fortran Fortran - Modern .f90 Fortran Beautifier (Default)
gherkin Gherkin .feature Gherkin formatter (Default)
Go Go .go gofmt (Default)
Handlebars Handlebars, HTML (Handlebars) .hbs, .handlebars JS Beautify (Default), Pretty Diff
Haskell Haskell .hs stylish-haskell (Default)
HTML HTML .html JS Beautify (Default), Pretty Diff
Jade Jade, Pug .jade, .pug Pug Beautify (Default)
Java Java .java Uncrustify (Default)
JavaScript JavaScript .js JS Beautify (Default), JSCS Fixer, Pretty Diff
JSON JSON .json JS Beautify (Default), Pretty Diff
JSX JSX, JavaScript (JSX) .jsx, .js Pretty Diff (Default)
LaTeX LaTeX .tex Latex Beautify (Default)
LESS LESS .less CSScomb, Pretty Diff (Default)
Lua Lua .lua Lua beautifier (Default)
Markdown GitHub Markdown .markdown, .md Remark, Tidy Markdown (Default)
Marko Marko .marko Marko Beautifier (Default)
Mustache HTML (Mustache) .mustache JS Beautify (Default)
Objective-C Objective-C, Objective-C++ .m, .mm, .h Uncrustify (Default), clang-format
OCaml OCaml .ml ocp-indent (Default)
Pawn Pawn Uncrustify (Default)
Perl Perl, Perl 6 .pl Perltidy (Default)
PHP PHP .php, .module, .inc PHP-CS-Fixer (Default), PHPCBF
Puppet Puppet .pp puppet-lint (Default)
Python Python .py autopep8 (Default), yapf
Riot.js Riot.js, HTML (Riot Tag) .tag Pretty Diff (Default)
Ruby Ruby, Ruby on Rails .rb Rubocop (Default), Ruby Beautify
Rust Rust .rs, .rlib rustfmt (Default)
Sass Sass .sass CSScomb, Pretty Diff (Default)
SCSS SCSS .scss CSScomb, Pretty Diff (Default)
Spacebars Spacebars Pretty Diff (Default)
SQL SQL (Rails), SQL .sql sqlformat (Default)
SVG SVG .svg Pretty Diff (Default)
Swig HTML (Swig), SWIG .swig Pretty Diff (Default)
TSS TSS .tss Pretty Diff (Default)
Twig HTML (Twig) .twig Pretty Diff (Default)
TypeScript TypeScript .ts TypeScript Formatter (Default)
Vala Vala .vala, .vapi Uncrustify (Default)
Visualforce Visualforce .page Pretty Diff (Default)
Vue Vue Component .vue Vue Beautifier (Default)
XML SLD, XML, XHTML, XSD, XSL, JSP .sld, .xml, .xhtml, .xsd, .xsl, .jsp JS Beautify, Pretty Diff (Default)
XTemplate XTemplate .xtemplate Pretty Diff (Default)

Usage

Open the Command Palette, type Beautify, and run Beautify Editor.

image

Selection of Code

It will only beautify selected text if a selection is found -- if not, the whole file will be beautified.

Selection of Code Beautify Selection of Code Beautify Entire File
Select code in Atom editor Only that selection is beautified Without a selection all code is beautified
image image image

Beautify On Save

Beautify On Save can be enabled for each language individually.

For example, for language HTML go into Atom-Beautify's package settings (AtomPreferences ➔ Search for atom-beautify), find HTML, and toggle the Beautify On Save option.

atom-beautify-setup-beautify-on-save

Keyboard 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
    AtomPreferences ➔ Search for atom-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
}

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
  }
}

Troubleshooting

See docs/troubleshooting.md.

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.

License

MIT © Glavin Wiechert