Indentation options


The size (in spaces) of an indentation level
Specifies whether and how to handle empty lines

If checked, procedure scopes add an indentation level

If checked, a block of declarations at the top of a procedure adds an indentation level
If checked, a block of comments at the top of a procedure adds an indentation level
If checked, the first block of comments can include empty lines

If checked, Enum members add an indentation level

If checked, Case blocks add an indentation level

Outdenting options


Forces precompiler directives into column 1 regardless of current indentation level

Forces Debug.Print statements into column 1 regardless of current indentation level
Forces Debug.Assert statements into column 1 regardless of current indentation level

Forces Stop statements into column 1 regardless of current indentation level

Alignment options



Comments


If checked, comment lines will be made to follow indentation levels

Determines
End-of-line comments will begin at that column whenever possible

Vertical spacing


Consistently keeps the specified number of empty lines between the members of a module
The number of empty lines to maintain between procedures

Removes all spaces between Get, Let, and Set accessors of Property members

Try it right here!

Rubberduck.SmartIndenter.dll version: 2.5.2

Looking for a programmatic approach?

Try the API!

 api.rubberduckvba.com

  1. Request (GET) /DefaultIndenterSettings to get a JSON object for the model (or copy it from below);
  2. Provide the code to be indented in the 'Code' property; note the \n newline characters;
  3. Post (POST) the JSON object to /Indent to get the indented code as an array of strings.