Settings dialog
This dialog is used to setup application settings:
Each tab has self-descripting options. Here are some more details on the use cases when you may need to change these options:
Custom text normalization rules is something similar to Ignore case or Ignore whitespace options, but they allow to set up more sophisticated rules. For example, but default this list contains only one disabled rule:
- Title: Function optional parentheses
- Pattern: (?<fn>(CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|LOCALTIME|LOCALTIMESTAMP))\(\)
- Replacement: ${fn}
Let's suppose you have some stored procedure which calls CURRENT_TIMESTAMP function which can be defined with or without parentheses. And on the left side it is used as
CURRENT_TIMESTAMP(), on the right side as
CURRENT_TIMESTAMP - without parentheses. Functionally both calls do the same work and you may want to ignore such change. This can be achieved using this rule. Rules are based on .NET regex syntax. In our example Pattern defines
fn regex variable which contains a function name without parentheses. And then the whole found string (with parentheses) is replaced with a variable value which has only the function name without parentheses. If this rule is enabled, then the application does not calculate missing parentheses text change. If that was the only change in the object definition, then the whole object is considered and counted as unchanged. In the
Text diff tab line having such a change is highlighted in yellow (color of ignored change).
The following things needs to be taken into account when you use these rules:
- These rules are applied for each separate line of each object definition. As a result they can significantly affect performance of objects loading and comparison. And since they are applied for each line - they can't be used for multi-line blocks of code, for example you can't ignore multiline comments using these rules
- Order of object text processing: 1) whitespace removal ('Ignore whitespace' options), 2) skip empty lines, 3) custom normalization rules, by the order they are defined in Settings
- Custom normalization is combined with 'Ignore case' option
- Rule with invalid regex syntax in Pattern or Replacement will be ignored (however it will slow down objects processing as well)
Free version limitations:
- The whole dialog is not available
Last updated: 2023-10-04