This extension is a slightly modified version of the one developed by zachflower. Due to his innactivity and my need to add a few features and fixes this extension fork was created. Feel free to create issues and pull requests and I will try to support it as much as I can.
Uncrustify Formatter for Visual Studio Code
Uncrustify is a highly configurable source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and VALA.
Linux : Uncrustify is available in most distributions as a package in the official repositories (sudo apt/yum install uncrustify or equivalent)
Windows : Prebuilt binaries are available on sourceforge. You will need to put the executable in your PATH variable and you will have to update it manually
If the executable is not in the PATH environment variable, you must set its path in the settings explicitly.
A default config file can automatically be created (see the commands below).
Uncrustify: Create default config file (uncrustify.create): Creates a default uncrustify.cfg file and puts it at the root of the current workspace.
Uncrustify: Open config file (uncrustify.open): Opens the configuration file that is currently set in the extension settings.
uncrustify.executablePath.[linux|osx|windows] (string): Path to the uncrustify executable if it's not already in the PATH environment variable.
uncrustify.configPath.[linux|osx|windows] (string): Path to the uncrustify configuration file. Environment variables can be used with either a Windows or a bash syntax (examples: %SOME_PATH%/dev/uncrustify.cfg, $SOME_PATH/dev/uncrustify.cfg). A relative path will be automatically prefixed with the current workspace path.
uncrustify.graphicalConfig (boolean): Toggles the graphical config editor when opening an uncrustify config file.
uncrustify.debug (boolean): Activates logs for debugging the extension. Logs should appear in the uncrustify output channel.
uncrustify.langOverrides (object): Overrides the language used by uncrustify.
This extension was originally created and maintained by @LaurentTreguier. While it has since been archived and removed from the extension marketplace, I have relied heavily on it over the past few years and have chosen to resurrect it. To that end, any of the good stuff in this extension undoubtedly comes from the original maintainer's hard work, and I will do my best to honor that.