Jmix Plugin Settings

The Jmix Plugin Settings dialog contains settings related to all projects opened in this Studio instance. You can access the dialog from the toolbar of the Jmix Tool Window.

plugin open

On the Jmix page, you can configure the following settings:

  • In the Additional templates artifact field, you can specify the custom templates artifact group and name separated by a colon, for example, com.custom.templates.studio:custom-studio-templates.

  • Use the Send anonymous usage statistics and automated crash reports option to choose whether you want to send anonymous statistics or not.

    Collecting statistics helps the developers better understand how Studio is used and get more information to improve the product. No personal data is collected.

    When anonymous usage statistics is enabled, Studio periodically sends the following data to the statistics server:

    • Date and time of the statistics event.

    • Studio ID - random UUID that is generated on the first start and stored on the disk.

    • Studio release number.

    • Operating system name.

    • JDK version.

    • IntelliJ IDEA version.

    • IntelliJ IDEA edition, Community or Ultimate.

    • List of public Jmix add-ons used in the project.

    • Number of entities in the project.

    • Number of views in the project.

    • Database types used in the project.

  • Select the Open editor on Text tab instead of Designer for new entities option if you prefer entity opens in text editor by default.

Project Settings

On the Project Settings page, you can select the programming language that will be used to generate code in projects with Kotlin support.

  • If your project has mixed Java and Kotlin content, and you want to have control over the scaffolding language for every new entity, service, or view, then set the Always Ask value in the drop-down list. This setting is displayed only for projects with Kotlin support enabled.

  • The Enable hot deploy checkbox is selected by default. It enables Hot Deploy technology.

  • When Generate embedded attribute overrides by default is enabled, Jmix Studio automatically creates embedded attributes for specific embeddable entity, eliminating the need to manually define them each time.

plugin language

Database Drivers

You can manage drivers in the Database Drivers page.

plugin drivers

Type Mappings

On the Type Mappings page, you can define mapping between entity attribute types and database column types.

settings type mappings

Coding Assistance

The Coding Assistance page provides various tools and features that help developers write more efficient and accurate code.

  • The Use final modifier when generating code option is true by default. This option enables using final modifier in fields, local variables and method parameters.

  • Select the Use constructor injection option if you want to use constructor injection in Spring beans.

  • The Use protected access modifier option applies when generating handlers in view controllers and injecting beans. With this option enabled, generated methods and fields will have the protected access modifier. If you disable it, methods will be public and fields will be private.

  • The Enable injection by code completion option is true by default. As soon as you enter a few characters inside a method body, you will get a code completion dropdown filled with available beans and UI components in addition to the existing local variables and class fields. The beans and UI components not yet injected into the class will be marked with italic font. If you select such an item, it will be injected into the constructor or into a field with the proper annotation (@Autowired or @ViewComponent) and the filed will be available for usage immediately at the cursor position.

    You can set turn off this feature by unchecking the checkbox.

  • Using the input counter field, you can set the minimum number of characters to enter.

  • The Suggest creating new data repositories option is false by default. If you enable it, the IDE suggests creating non-existent data repositories for entity classes and instances.

coding assistance tab

Data Repository

The Data Repository page provides several options that control the defaults, naming conventions, and code generation aspects related to repositories.

  • The Default repository name suffix option determines how generated data repository interfaces are named.

  • Spring Data offers multiple keyword expressions for naming derived query methods. For example, NameContaining, NameIsContaining, and NameContains all achieve the same result. Jmix Studio allows you to configure a set of approved keywords for method name generation, ensuring your team follows established naming standards.

  • The Use named parameters for query option affects how parameters are handled in JPQL queries generated for your data repositories. When enabled, it uses named parameters, identified by a colon followed by a meaningful name, instead of positional parameters.

data repository page