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

Uncrustify

by obxyann ALL

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 3K
  • Win 1K
  • Mac 685
  • Linux 799
Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31 Oct 30 Oct 29 Oct 28 Oct 27 Oct 26 Oct 25 Oct 24 Oct 23 Oct 22 Oct 21 Oct 20 Oct 19 Oct 18 Oct 17 Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8
Windows 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 1 0 0 0 0 1 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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!