GoLand 2024.1 Help

Code Completion

Use this page to configure code completion and parameter information.

Item

Description

Match case

Select this option if you want letter case to be taken into account when suggesting matches for code completion. Choose whether you want to match case for the first letter of for all letters.

Automatically insert single suggestions for

Automatically complete your code if there's just one suggestion for basic and type-matching completion.

Sort suggestions alphabetically

Choose this option if you want to sort items in the suggestion list in the alphabetical order instead of sorting them by relevance.

You can change this behavior at any time by clicking the sort alphabetically or sort by relevance icons in the suggestion list.

Show suggestions as you type

Select this checkbox if you want the suggestion list to be invoked automatically, without having to call completion explicitly.

Insert selected suggestion by pressing space, dot, or other context-dependent keys

Select the checkbox if you want to insert the selected suggestion by typing certain keys that depend on the language, your context, and so on.

Show the documentation popup in

Select this checkbox to have GoLand automatically show a popup for each item in the suggestions list with the documentation for the class, method, or field currently highlighted in the lookup list.

In the field to the right, specify the delay (in milliseconds), after which the popup should appear.

Insert parentheses automatically when applicable

If this option is enabled, GoLand automatically inserts a pair of opening and closing parentheses when you complete a function/method.

Insert parentheses on completion is enabled

Clear the checkbox to suppress inserting parentheses automatically.

If you use an opening parentheses ( instead of Enter to apply the selected item from a completion list, parentheses will be inserted automatically no matter whether the option is turned on or off.

Insert parentheses on completion is disabled. Parentheses are still inserted on completion with an opening brace.

To use an opening parentheses ( instead of Enter to apply the selected item from a completion list, open the Settings dialog (Ctrl+Alt+S) , go to Editor | General | Code Completion, and select the Insert selected suggestion by pressing space, dot, or other context-dependent keys checkbox.

For more information, refer to Use specific keys to insert suggestions.

Machine Learning-Assisted Completion

Item

Description

Sort completion suggestions based on machine learning

Select this checkbox if you want to leverage machine learning models to rank most suitable items higher in the suggestion lists. Optionally, select languages where the ML-assisted completion should apply.

When this feature is enabled, GoLand will send and receive statistics of completion choices at different caret positions to train and apply ML algorithms. The statistics are fully anonymous, they include no names of types or functions.

Mark position changes in the completion popup

If you are trying to understand, how ML assistance affects the order of suggestions in completion lists, it might be helpful to mark items that the ML algorithm moved higher or lower relatively to the standard suggestion sorting. Otherwise, if you are happy with ML suggestions, you can clear this checkbox.

Mark the most relevant item in the completion popup

When enabled, this option allows you to see if there is a completion item that the ML algorithm considers to be the exact match for the current position. If such item exists, it will be marked with an asterisk.

JavaScript

In this area, you can configure code completion in the JavaScript context.

Item

Description

Only type-based completion

By default, GoLand suggests completion for symbols regardless of their types. With this approach, in complicated cases the list shows multiple completion variants.

To make completion more precise, select the checkbox. The completion list will strongly depend on the GoLand inference. As a result, the list may remain empty in case of poor inference.

Suggest items with optional chaining for nullable types

By default, GoLand suggests completion for symbols with the optional chaining operator (?). To suppress showing such suggestions, clear the checkbox.

Expand method bodies in completion for overrides

By default, when you want to override a method from the parent class or interface and select this method from the list of completion suggestions, GoLand automatically adds parameters, generates a super() call, and adds the type information, if possible.

Clear the Expand method bodies in completion for overrides checkbox to suppress automatic generation of method bodies for overrides during completion.

Completion of names

  • Suggest variable and parameter names: By default, the checkbox is cleared. When it is selected, GoLand suggests names for new class fields, variables, and parameters during their declaration. These suggestions are based on the names of classes, types, and interfaces that are defined in your project, in the libraries you are using, and in standard APIs.

  • Suggest names for class fields

    The option is by default turned off.

  • Add type annotations for suggested parameter names: Select this checkbox to supply each completion suggestion with information on its type.

    The checkbox is available only when the Suggest variable and parameter names checkbox is selected.

Parameter Info

Item

Description

Show the parameter info popup in

Select this checkbox to have GoLand automatically show a popup with all available method signatures when an opening bracket is typed in the editor, or a method is selected from the suggestion list.

In the text field to the right, specify the delay (in milliseconds) after when the popup window should appear.

If this checkbox is not selected, use Ctrl+P to show parameter info.

Show full method signatures

If this checkbox is selected, the parameter info displays full signatures, including method name and returned type.

SQL

Item

Description

Suggest objects from

Select where the objects are suggested from.

Objects suggested from the current path only
Objects suggested from all the schemas

Qualify objects with

Select when to qualify the objects with databases, schemas, tables and views, and aliases of tables and views.

Objects always qualified with tables
Objects never qualified with tables

Qualify objects in

Select when to qualify the objects in the given cases.

Objects in JOIN completions always qualified
Objects in JOIN completions never qualified

JOIN clauses

Use aliases in completion for JOIN

Creates aliases for tables in the JOIN statement.

Use aliases in completion for JOIN

Invert order of operands in auto-generated ON clause

Switches operands in the ON clause. When the checkbox is cleared, the FROM table comes the first in the JOIN condition.

Invert order of operands in auto-generated ON clause

Suggest non-strict foreign keys based on the name matching

Generates you a list of possible code completion suggestions for JOIN statements. The code completion list includes suggestions of the columns from other tables that have the same names as columns from the table in the JOIN statement.

Read more about debugging rules for this option in Debug rules for virtual foreign keys.

Suggest Non Strict Foreign Keys Based On The Name Matching is On
Suggest Non Strict Foreign Keys Based On The Name Matching is Off

Table aliases

Automatically add aliases when completing table names

Creates an alias for a table name.

Automatically add aliases when completing table names

Suggest alias names in completion after table names

Suggests an alias for a table name when you use code completion (Ctrl+Space).

Suggest alias names in completion after table names

Custom aliases (table)

You can add a table name and the alias that you want to use for this table. To add the table-alias pair, click the Add alias button (the Add alias button).

Dart

Item

Description

Insert default argument values in completions

By default, when you select and apply a completion suggestion, GoLand inserts default argument values so you only need to fill in the field in the inserted template.

Clear the checkbox to suppress such behavior and fill in the arguments yourself.

Last modified: 26 May 2024