ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Uncrustify

by obxyann ST2/ST3

A source code beautifier/formatter plugin that allows the user to use Uncrustify to format the C-like languages in Sublime Text.

Details

Installs

  • Total 773
  • Win 320
  • OS X 253
  • Linux 200
Jun 27 Jun 26 Jun 25 Jun 24 Jun 23 Jun 22 Jun 21 Jun 20 Jun 19 Jun 18 Jun 17 Jun 16 Jun 15 Jun 14 Jun 13 Jun 12 Jun 11 Jun 10 Jun 9 Jun 8 Jun 7 Jun 6 Jun 5 Jun 4 Jun 3 Jun 2 Jun 1 May 31 May 30 May 29 May 28 May 27 May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14
Windows 0 2 0 4 2 0 1 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0
OS X 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 1 1 0 0 0 0 2 0 2 0 0 0 1 2 0 2 1 0 2 0 0 0 0 0 0
Linux 1 1 1 1 0 2 0 1 0 0 0 0 0 0 1 0 0 0 0 4 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0

Readme

Source
raw.​githubusercontent.​com

Sublime-Uncrustify

This is a source code beautifier/formatter plugin that allows the user to use Uncrustify(1) to format the C-like languages in Sublime Text.

Sublime-Uncrustify can setup to read different configures (as different code styles) according to the languages and filenames or projects.

NOTE: (1) Uncrustify is a source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA.

Screenshot

screenshot

Install

  1. An Uncrustify MUST be installed before Sublime-Uncrustify can work.

    1. An Win32 binary is available in Sourceforge.
    2. OSX can install via 'brew install uncrustify' by Homebrew or 'port install uncrustify' by MacPorts.
    3. Other Linux-like OS please see http://uncrustify.sourceforge.net/ or build the program yourself.

    Remember the path of your Uncrustify executable (for step 4.2).

  2. Configuring the Uncrustify:

    Examine the example config files in Uncrustify/etc (from uncrustify source) or Uncrustify/cfg (from Win32 pre-built).

    or you can find in:

    http://sourceforge.net/p/uncrustify/code/ci/master/tree/etc/

    Copy the existing config file that closely matches your style and modify(2) as your version.

    Remember the path of your config file for uncrustify (for step 4.3).

    NOTE: (2) See 'Other Uncrustify Utilities' below…

  3. Install the Sublime-Uncrustify:

    The preferred method is to use the Sublime package manager Package Control:

    [sublime text menu]->[Preferences]->[Package Control]->[Install Package]->Search “Uncrustify” and install.

    Alternatively, the files can be obtained on GitHub:

    https://github.com/obxyann/Sublime-Uncrustify

    Just create a new folder named Uncrustify under your Sublime Text Packages folder and copy the files into.

  4. Configure the Sublime-Uncrustify:

    [sublime text menu]->[Preferences]->[Package Settings]->[Uncrustify]

    1. Copy the default settings as user settings.
    2. Specify the path to uncrustify executable…(where step 1 installed)
    3. Specify the config file for uncrustify…(where step 2 copied and modified)
    4. Add your rules to use different config files (code styles) according to the languages and filenames.

Usage

NOTE: Although it can UNDO after a format action, please backup/SAVE your important/unsaved file before using!

  1. Format whole document:

    Current document

    [sublime text menu]->[Tools]->[Uncrustify]->[Format Document]

  2. Format a selection:

    Make a selection then

    [sublime text menu]->[Tools]->[Uncrustify]->[Format Selection]

  3. Undo formatted:

    Just Undo before exit.

  4. You can edit the Uncrustify config file specified in settings:

    [sublime text menu]->[Preferences]->[Package Settings]->[Uncrustify]

    ->[Open Uncrustify Config - Default]

    for all languages/file types supported and no custom filter or language matched

    ->[Open Uncrustify Config - Matches Current Document]

    according to current document matches one of filters or languages…

Notices

  1. Some languages/file types don't supported by Uncrustify will pop a warning.

    Currently only supports C, C++, D, C#, Java, Pawn, Objective C, Objective C++, Vala, SQL and ECMA.

  2. This is my first Python program. Before I have no knowledge about Python. So I must warn again…

    It is not guaranteed to work perfectly, please backup/SAVE your important/unsaved file before using!

  3. Only tested in Windows 7 + Sublime Text 2/3. Please help to improve this plugin if it don't work in your OS!

License

  1. Uncrustify is GPL V2 belongs to its authors. (Uncrustify binary not include in Sublime-Uncrustify)

  2. Sublime-Uncrustify is released under the MIT license.

Other Uncrustify Utilities

You can change your Uncrusify config file easily by:

  1. (WIN32) UniversalIndentGUI: http://universalindent.sourceforge.net/

  2. (OSX) UncrustifyX: https://github.com/ryanmaxwell/UncrustifyX/

But I think the default config file default.cfg from Uncrusify is well documented to modify directly!