Atom-Beautify

💄 Atom 编辑器的通用美化包(⚠️ 目前正在迁移到 https://github.com/Unibeautify/,用于 Atom-Beautify 问题的带宽非常有限。「💄 Universal beautification package for Atom editor (⚠️ Currently migrating to https://github.com/Unibeautify/ and have very limited bandwidth for Atom-Beautify Issues.」

Github星跟踪图

:lipstick: atom-beautify

apm
GitHub stars
GitHub issues
Greenkeeper badge

Slack
Twitter Follow
Gitter
Bountysource
Paypal Donations

:point_right: Sign up for CodePass, the Quickest Way To Solve Your Coding Errors! :boom:

:tada: Install Unibeautify CI for GitHub :tada:

Help improve Atom-Beautify by completing the quick questionnaire: https://goo.gl/iEHBNr, Mac OS and , , ---, ---, Travis CI: Build Status, AppVeyor: Build status, 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 ➔ Install ➔ Search for atom-beautify

:tada: Install Unibeautify CI for GitHub :tada:

Important Notice: Analytics

Atom-Beautify respects the core.telemetryConsent configuration option from Atom editor.
If you do not wish to have usage data sent to Google Analytics then please set core.telemetryConsent to no or undecided option before using Atom-Beautify.
See Anonymous Analytics section of docs for details.
Thank you., On Atom Load, Change Setting Later, ---, ---, image, image, ### Next Version: Unibeautify

Atom-Beautify is going to be completely rewritten with Unibeautify at its core!
See unibeautify branch for work in progress and Issue #1174.

:tada: Install Unibeautify CI for GitHub :tada:

Poll: Improving installation of third-party beautifiers

Many users are experiencing issues when installing third party beautifiers (e.g. Uncrustify, PHP-CS-Fixer, and many more).
A possible solution is a "cloud" service which provides remote access to these beautifiers. Atom-Beautify would then communicate with these services, allowing for zero-installation beautification.

Please let us know what you think!




Beautifiers

Some of the supported beautifiers are developed for Node.js and are automatically installed when Atom-Beautify is installed. However, other beautifiers are command-line interface (CLI) applications and require you to manually install them., Beautifier, Preinstalled, :whale: Docker, Installation, ---, ---, ---, ---, align-yaml, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, autopep8, :warning: 2 executables, :warning: Only 1 of 2 executables, :whale: With Docker:1. Install autopep8 (autopep8) with docker pull unibeautify/autopep8:bookmark_tabs: Manually:1. Install autopep8 (autopep8) by following https://github.com/hhatto/autopep8#installation2. Install isort (isort) by following https://github.com/timothycrosley/isort#installing-isort, beautysh, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install beautysh (beautysh) with docker pull unibeautify/beautysh:bookmark_tabs: Manually:1. Install beautysh (beautysh) by following https://github.com/bemeurer/beautysh#installation, black, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install black (black) by following https://github.com/ambv/black#installation, brittany, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/lspitzner/brittany and follow the instructions., clang-format, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install ClangFormat (clang-format) with docker pull unibeautify/clang-format:bookmark_tabs: Manually:1. Install ClangFormat (clang-format) by following https://clang.llvm.org/docs/ClangFormat.html, cljfmt, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Coffee Formatter, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, coffee-fmt, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Crystal, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install Crystal (crystal) with docker pull unibeautify/crystal:bookmark_tabs: Manually:1. Install Crystal (crystal) by following https://crystal-lang.org/docs/installation/, CSScomb, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, dfmt, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install Dfmt (dfmt) by following https://github.com/dlang-community/dfmt#building, elm-format, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install elm-format (elm-format) with docker pull unibeautify/elm-format:bookmark_tabs: Manually:1. Install elm-format (elm-format) by following https://github.com/avh4/elm-format#installation-, Emacs Verilog Mode, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install Emacs (emacs) by following https://www.gnu.org/software/emacs/, erl_tidy, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to http://erlang.org/doc/man/erl_tidy.html and follow the instructions., ESLint Fixer, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, formatR, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install Rscript (rscript) with docker pull unibeautify/rscript:bookmark_tabs: Manually:1. Install Rscript (rscript) by following https://github.com/yihui/formatR, Fortran Beautifier, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install Emacs (emacs) by following https://www.gnu.org/software/emacs/, Gherkin formatter, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, GN, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install gn (gn) by following https://www.chromium.org/developers/how-tos/get-the-code, gofmt, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://golang.org/cmd/gofmt/ and follow the instructions., goimports, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install goimports (goimports) with docker pull unibeautify/goimports:bookmark_tabs: Manually:1. Install goimports (goimports) by following https://godoc.org/golang.org/x/tools/cmd/goimports, hh_format, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to http://hhvm.com/ and follow the instructions., hindent, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/commercialhaskell/hindent and follow the instructions., HTML Beautifier, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/threedaymonk/htmlbeautifier and follow the instructions., JS Beautify, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, JSCS Fixer, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Latex Beautify, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/cmhughes/latexindent.pl and follow the instructions., Lua beautifier, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Marko Beautifier, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Nginx Beautify, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, ocamlformat, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install ocamlformat (ocamlformat) by following https://github.com/ocaml-ppx/ocamlformat#installation, ocp-indent, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install ocp-indent (ocp-indent) with docker pull unibeautify/ocp-indent:bookmark_tabs: Manually:1. Install ocp-indent (ocp-indent) by following https://www.typerex.org/ocp-indent.html#installation, Perltidy, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to http://perltidy.sourceforge.net/ and follow the instructions., PHP-CS-Fixer, :warning: 2 executables, :warning: Only 1 of 2 executables, :whale: With Docker:1. Install PHP-CS-Fixer (php-cs-fixer) with docker pull unibeautify/php-cs-fixer:bookmark_tabs: Manually:1. Install PHP (php) by following http://php.net/manual/en/install.php2. Install PHP-CS-Fixer (php-cs-fixer) by following https://github.com/FriendsOfPHP/PHP-CS-Fixer#installation, PHPCBF, :warning: 2 executables, :warning: Only 1 of 2 executables, :whale: With Docker:1. Install PHPCBF (phpcbf) with docker pull unibeautify/phpcbf:bookmark_tabs: Manually:1. Install PHP (php) by following http://php.net/manual/en/install.php2. Install PHPCBF (phpcbf) by following https://github.com/squizlabs/PHP_CodeSniffer#installation, Prettier, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Pretty Diff, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Pug Beautify, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, puppet-lint, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install puppet-lint (puppet-lint) with docker pull unibeautify/puppet-lint:bookmark_tabs: Manually:1. Install puppet-lint (puppet-lint) by following http://puppet-lint.com/, pybeautifier, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/guyskk/pybeautifier and follow the instructions., Remark, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Rubocop, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install Rubocop (rubocop) by following http://rubocop.readthedocs.io/en/latest/installation/, Ruby Beautify, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/erniebrodeur/ruby-beautify and follow the instructions., rustfmt, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/rust-lang-nursery/rustfmt and follow the instructions., SassConvert, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install SassConvert (sass-convert) with docker pull unibeautify/sass-convert:bookmark_tabs: Manually:1. Install SassConvert (sass-convert) by following http://sass-lang.com/documentation/file.SASS_REFERENCE.html#syntax, sqlformat, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/andialbrecht/sqlparse and follow the instructions., stylish-haskell, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/jaspervdj/stylish-haskell and follow the instructions., terraformfmt, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install Terraform (terraform) with docker pull hashicorp/terraform:bookmark_tabs: Manually:1. Install Terraform (terraform) by following https://www.terraform.io, Tidy Markdown, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, TypeScript Formatter, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, Uncrustify, :warning: 1 executable, :white_check_mark: :100:% of executables, :whale: With Docker:1. Install Uncrustify (uncrustify) with docker pull unibeautify/uncrustify:bookmark_tabs: Manually:1. Install Uncrustify (uncrustify) by following https://github.com/uncrustify/uncrustify, VHDL Beautifier, :warning: 1 executable, :x: No Docker support, :bookmark_tabs: Manually:1. Install Emacs (emacs) by following https://www.gnu.org/software/emacs/, Vue Beautifier, :white_check_mark:, :ok_hand: Not necessary, :smiley: Nothing!, yapf, :warning: Manual installation, :construction: Not an executable, :page_facing_up: Go to https://github.com/google/yapf and follow the instructions., ## Language Support

See all supported options in the documentation at docs/options.md., Language, Grammars, File Extensions, Supported Beautifiers, ---, ---, ---, ----, Apex, Apex, .cls, .trigger, Uncrustify, Arduino, Arduino, .ino, .pde, Uncrustify, Bash, Shell Script, .bash, .sh, beautysh, Blade, Blade, .blade.php, JS Beautify, C, C, opencl, .h, .c, .cl, Uncrustify, clang-format, Coldfusion, html, .cfm, .cfml, .cfc, Pretty Diff, Clojure, Clojure, .clj, .cljs, .edn, cljfmt, CoffeeScript, CoffeeScript, .coffee, coffee-fmt, Coffee Formatter, C++, C++, .h, .hh, .cc, .cpp, .cxx, .C, .cu, .c++, .hpp, .hxx, .h++, .cuh, Uncrustify, clang-format, Crystal, Crystal, .cr, Crystal, C#, C#, .cs, Uncrustify, CSS, CSS, .css, JS Beautify, CSScomb, Prettier, Pretty Diff, SassConvert, CSV, CSV, .csv, Pretty Diff, D, D, .d, Uncrustify, dfmt, EJS, EJS, JavaScript Template, HTML (Angular), .ejs, JS Beautify, Pretty Diff, Elm, Elm, .elm, elm-format, ERB, HTML (Ruby - ERB), HTML (Rails), .erb, Pretty Diff, HTML Beautifier, Erlang, Erlang, .erl, erl_tidy, Fortran, Fortran - Modern, .f90, .F90, .f95, .F95, .f03, .F03, .f08, .F08, Fortran Beautifier, gherkin, Gherkin, .feature, Gherkin formatter, GLSL, C, opencl, GLSL, .vert, .frag, clang-format, GN, gn, .gn, .gni, GN, Go, Go, .go, gofmt, goimports, Golang Template, HTML (Go), Go Template, .gohtml, Pretty Diff, Handlebars, Handlebars, HTML (Handlebars), .hbs, .handlebars, JS Beautify, Pretty Diff, Haskell, Haskell, .hs, stylish-haskell, brittany, hindent, HTML, HTML, .html, JS Beautify, Pretty Diff, Jade, Jade, Pug, .jade, .pug, Pug Beautify, Java, Java, .java, Uncrustify, JavaScript, JavaScript, .js, JS Beautify, ESLint Fixer, JSCS Fixer, Prettier, Pretty Diff, JSON, JSON, .json, JS Beautify, Prettier, Pretty Diff, JSX, JSX, JavaScript (JSX), Babel ES6 JavaScript, JavaScript with JSX, .jsx, .js, Pretty Diff, JS Beautify, LaTeX, BibTeX, LaTeX, TeX, .bib, .tex, .sty, .cls, .dtx, .ins, .bbx, .cbx, Latex Beautify, LESS, LESS, .less, Pretty Diff, CSScomb, Prettier, Lua, Lua, .lua, .ttslua, Lua beautifier, Markdown, GitHub Markdown, .markdown, .md, Remark, Prettier, Tidy Markdown, Marko, Marko, .marko, Marko Beautifier, Mustache, HTML (Mustache), .mustache, JS Beautify, Pretty Diff, Nginx, nginx, .conf, Nginx Beautify, Nunjucks, Nunjucks, Nunjucks Templates, HTML (Nunjucks Templates), .njk, .nunjucks, Pretty Diff, Objective-C, Objective-C, Objective-C++, .m, .mm, .h, Uncrustify, clang-format, OCaml, OCaml, .ml, ocp-indent, ocamlformat, Pawn, Pawn, Uncrustify, Perl, Perl, Perl 6, .pl, .PL, .pm, .pod, .t, Perltidy, PHP, PHP, .php, .module, .inc, PHP-CS-Fixer, PHPCBF, hh_format, Puppet, Puppet, .pp, puppet-lint, Python, Python, MagicPython, .py, autopep8, black, pybeautifier, yapf, R, R, .r, .R, formatR, Riot.js, Riot.js, HTML (Riot Tag), .tag, Pretty Diff, Ruby, Ruby, Ruby on Rails, .rb, Rubocop, Ruby Beautify, Rust, Rust, .rs, .rlib, rustfmt, Sass, Sass, .sass, SassConvert, SCSS, SCSS, .scss, Pretty Diff, CSScomb, Prettier, SassConvert, Spacebars, Spacebars, Pretty Diff, SQL, SQL (Rails), SQL, .sql, sqlformat, SVG, SVG, .svg, Pretty Diff, Swig, HTML (Swig), SWIG, .swig, Pretty Diff, Terraform, Terraform, .tf, terraformfmt, TSS, TSS, .tss, Pretty Diff, TSX, TypeScriptReact, .tsx, TypeScript Formatter, Twig, HTML (Twig), .twig, Pretty Diff, TypeScript, TypeScript, .ts, TypeScript Formatter, Prettier, UX Markup, UX, .ux, Pretty Diff, Vala, Vala, .vala, .vapi, Uncrustify, Verilog, Verilog, .svh, .v, .sv, Emacs Verilog Mode, VHDL, VHDL 2008, .vhd, .VHD, VHDL Beautifier, Visualforce, Visualforce, .page, Pretty Diff, Vue, Vue Component, .vue, Vue Beautifier, ESLint Fixer, Prettier, XML, SLD, XML, XHTML, XSD, XSL, JSP, GSP, .sld, .xml, .xhtml, .xsd, .xsl, .jsp, .gsp, .plist, .recipe, .config, Pretty Diff, JS Beautify, XTemplate, XTemplate, .xtemplate, Pretty Diff, YAML, YAML, .yml, .yaml, align-yaml, ## Usage

Command Palette

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

image

Beautify a Specific Language

You can use the Command Palette to beautify the editor for a specific language.
The commands are in the form Atom Beautify: Beautify Language {NAME} (i.e. atom-beautify:beautify-language-{NAME} for keyboard shortcuts).
For example, you may want to beautify JavaScript code within a HTML file.

atom-beautify-language-commands

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 CONTRIBUTING.md.

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

主要指标

概览
名称与所有者Glavin001/atom-beautify
主编程语言CoffeeScript
编程语言Shell (语言数: 8)
平台
许可证MIT License
所有者活动
创建于2014-03-03 06:09:24
推送于2024-11-17 05:18:30
最后一次提交2019-07-20 18:37:34
发布数177
最新版本名称v0.33.4 (发布于 2018-09-29 00:03:41)
第一版名称v0.1.0 (发布于 2014-03-11 13:07:27)
用户参与
星数1.5k
关注者数45
派生数448
提交数1.9k
已启用问题?
问题数2130
打开的问题数342
拉请求数295
打开的拉请求数52
关闭的拉请求数167
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?