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 684
  • Win 277
  • OS X 230
  • Linux 177
Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10 Feb 9
Windows 0 2 2 2 0 0 0 0 1 2 1 0 1 0 0 0 1 2 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 2 1 1 1 1 0 0 2 0 1 2 0 0
OS X 0 0 0 2 0 0 0 1 0 0 0 0 0 1 1 2 1 2 0 0 1 0 0 1 0 0 1 0 0 0 0 1 2 1 0 0 0 1 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 2 0 0 0 1 0 0 0 0 0 0 2 0 1 0 0 1 0 0 1 0 1 3 0 0 0 0 2

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!