Search Templates
When you construct a template for a structural search you are basically writing a script. To simplify your scripting process, GoLand offers you a list of predefined search templates that you can use as prototypes for your search template.
On how to access the list of the existing search and replace templates, see the structural search and replace section.
Each search or replace template consists of variables $variable_name$
to which you can add a condition (filter) to narrow your search results. Filters depend on a variable in your search template.
Count filter
The Count filter specifies a number of occurrences.
If you do not set the Count filter explicitly, the IDE looks for only one template match. In other words, when the Count filter is not applied, the default values for the filter are min = 1
and max = 1
.
GoLand adds [0,∞]
to the variable and searches for the specified range of numbers.
Reference filter
The Reference filter lets you reference some other search template in the variable.
The reference will always contain the name of a preconfigured or saved template, and you can use auto-completion to fill out this field.
Type filter
The Type filter adds a type of the value or expression that is expected for the specified variable.
Text filter
The Text filter checks the variable against regular expressions or plain text.
For example, the var\d
value for the text
filter in the expression
context will find all the variables that start with var
and have one digit afterwards.
Script constraints
The Script filter adds Groovy script constraints to the search template. Script constraints are used when you search for certain language constructs.
All variables used in a template can be accessed from script constraints. When you add a script constraint to your variable, GoLand matches it against the PSI tree, this variable is in fact a node in the PSI tree.