Optional "begin" - Some language constructs, for example the conditional statement
if or the loop statement
for, require a
begin - end block to control the execution of several statements. Such blocks are called
optional "begin" in order to distinguish them from other cases like
fork begin ... end endfork' or plain
begin ... end blocks used just for grouping several statements together for readability. This option affects the
optional "begin" blocks:
Leave as is
On a new line -
begin is moved on a new line
On the same line -
begin is moved on the same line with it's construct
On a new line and indent -
begin is moved on a new line and indented
Initial code
Leave as is
On a new line
On the same line
On a new line and indent
"else" - This option affects
else placement:
Leave as is
On a new line -
else is moved on a new line
On the same line - if
end precedes it
else is moved on the same line with
end
Initial code
Leave as is
On a new line
On the same line
Parameters - This option affects module ports and parameters, function and task arguments, class parameters:
Leave as is
One per line (open parenthesis on the same line) - each parameter/argument is placed on it's own line and the open parentheses is placed on the same line with the parameter/argument receiver
One per line (open parenthesis on the next line) - each parameter/argument is placed on it's own line and the open parentheses is placed on the next line after the parameter/argument receiver
More per line - more are placed on the same line, as fit when line wrapping is enabled
Initial code
Leave as is
One per line (open parenthesis on the same line)
One per line (open parenthesis on the next line)
More per line
Preprocessing - This option affects
`ifdef blocks:
Leave as is
Indent - indent, but don't increase the enclosed statements indentation
Indent and increase indentation level - indent like any other
scope language construct that increases indentation of it's enclosed statements
Indent and increase indentation level except first - indent the preprocessing block according to the enclosing scope and increase the enclosed code indentation with the exception of the first nested preprocessing block
Move at first column - move at line start, but don't increase the enclosed statements indentation
Initial code
Leave as is
Indent
Indent and increase indentation level
Indent and increase indentation level - except first
Move at first column
Don't indent single line comments at first column - This option affects single line comments that start at column zero. It is useful to disable the indentation for whole regions of code that are
block commented, for example by using
Ctrl + /. When enabled, single line comments that start at column zero are not indented.
Before
After
Indent multi-line comments - This option affects multi-line comments (
/* ... */). When enabled, multi-line comments are indented.
Before
After
Do not indent multi-line content of assigns - When enabled, the assign lines are not indented such as to preserve an alignment.
Before
After
Add New Line After Begin And Before End - Controls whether to add a new line after `begin` and before `end`.
Before
After
Add New Line After End - Controls whether to add a new line after `end`.
Before
After
Ignore lines starting with- Space separated list of line prefixes. A line starting with one of the prefixes is completely ignored, that is it is not indented, nor it contributes to indentation.
Before
After
Don't increase the indent Level On - By default all
scope language constructs increase indentation. This option allows you to control which language constructs should increase indentation.
Before
After ("assert" keyword)
Implicit semi macros - The code formatting engine depends on detecting some delimiters for properly identifying the proper indentation scope, for example indentation should not increase after
if(a) foo1();, but it should after
if(a) begin foo();. Semicolon or
end is such a delimiter and sometimes it may be encapsulated inside a macro. This option allows you to explicitly list such macros for proper code formatting.
Before
After
Open/Close scope macros - An
open scope macro increases the indentation level of subsequent code to visualize scoping. A
close scope macro decreases back the indentation level. Open/close scope macros are paired, for example:
`TEST and
`ENDTEST, similar with language keywords like
function and
endfunction.