Incoder Code Generation
Incoder is a plugin developed by Netwisd Company for JetBrains IDEA, aimed at facilitating code generation within IDEA. It supports code generation for single tables, multi-level parent-child table relationships, and offers features such as custom templates, custom generation rules, and custom data conversion.
Prerequisites
The current version requires the following conditions to be met:
IDE version: 2025.1 and above
Installation
Marketplace
Search for "Netwisd Incoder" in the IDE's plugin marketplace and click to install. This method of installation is recommended.

Configuration
Open the IDE settings panel, go to Tools -> Netwisd -> Incoder settings, and click to enter the settings page.

General Configuration

The general settings mainly include setting the basic generation rules, including:
Company: Company name, generally used to generate package route company information, e.g., com.netwisd.
Author: Author, generates author information, e.g.,
AppCode: Project code, used to generate the value of the @App annotation in the code, mainly used in conjunction with the incloud platform. The value type is the index value of the word separated by underscores in the table, starting from 1. For example: the table name is incloud_base_wf_process_log, and the AppCode value is 3, which means that this application is wf.
Base pkg: Base package name, used to generate the base package name of the code. The base package name generally refers to business classification, e.g., com.netwisd.demo, com.netwisd.base. The value type is the index value of the word separated by underscores in the table, starting from 1. For example: the table name is incloud_base_wf_process_log, and the Base pkg value is 2, which means that this application is base.
Module: Module name, used to generate the module name of the code. The module name generally refers to the business module, e.g., com.netwisd.base.user. In general, large projects are divided according to Base pkg, and then divided according to the module name. Small projects can be the same as Base pkg, and the value type is the index value of the word separated by underscores in the table, starting from 1, e.g., the table name is incloud_base_wf_process_log, and the Module value is 3, which means that this module is wf.
Includes: Includes which code to generate, e.g., entity, dao, service, controller, etc., generally the default options are sufficient.
General settings are project-level settings and are not global. Each project has its own values.
Template Settings

The template settings are divided into two parts: groups and templates.
The system by default provides templates for the public group. Users can customize templates according to their own needs. Each time a new group is created, the system will by default copy the template of the public group and make modifications on this basis to meet the requirements for customizing their own group templates.
Each group has four types of templates, namely: Single, Multi, Single-wf, Multi-wf, corresponding to single table, multi-table, single table workflow, and multi-table workflow, respectively.
Data Conversion

Data conversion settings are used to convert database field types into Java types. The system by default provides common conversion rules, and users can customize conversion rules according to their own needs.
The system by default provides templates for the public group. Users can customize templates according to their own needs. Each time a new group is created, the system will by default copy the template of the public group and make modifications on this basis to meet the requirements for customizing their own group templates.
Internal Field Settings

Internal field settings are used to set fields that are automatically added when generating code. The system by default provides common internal fields, and users can customize internal fields according to their own needs.
The system by default provides templates for the public group. Users can customize templates according to their own needs. Each time a new group is created, the system will by default copy the template of the public group and make modifications on this basis to meet the requirements for customizing their own group templates.
help

During the process of assistance, you can obtain the template generation program generated by Incoder, which is compatible with different platform versions.
Home Page
The plugin's home page icon is displayed as a robot icon; clicking on the icon opens the Incoder plugin's home page. The plugin icon can be dragged to the left toolbar of IDEA for quick access to the plugin.

Data Source Management
Clicking on the data source management icon on the plugin's home page opens the data source management page, used for managing data sources. The current version supports MySQL8+, PostgreSQL14+ databases, and most third-party databases based on these two, as well as DM8。

Clicking the Test Connection button allows testing if the data source connection is normal. If there is an error, corresponding error log information will be displayed.

Clicking the Add button, and the delete button can add or delete data sources.
Data Source Refresh
Clicking the data source refresh icon on the plugin's home page refreshes the data source. Refreshing the data source is to re-acquire the table structure and table relationships in the data source.
Table Structure Tree
After maintaining the data source, double-clicking the data source name on the plugin's home page opens the table structure tree page for viewing the table structure in the data source. There are two types of tree structures, where the tables type represents the original table structure queried from the data source.

On the table structure tree page, double-clicking a table name opens the table structure editing page for editing the table structure and generating code for a single table. For code generation, see Code Generation Section.
Table Relationship Tree
After maintaining the data source, double-clicking the data source name on the plugin's home page opens the table structure tree page for viewing the table structure in the data source. There are two types of tree structures, where the relations type represents the business relationship tree maintained locally based on the tables queried from the data source, which is used for generating code for multi-level master-detail table relationships.

On the table relationship tree page, double-clicking a table name opens the table structure editing page for editing the table structure and generating code for a single or multiple tables. For code generation, see Code Generation Section.
Maintaining Table Relationships
Dragging a table name onto another table name establishes a table relationship, prompting a dialog box for setting the type of relationship and the fields of the relationship. The dragged table represents the child table, and the table being dragged onto represents the master table.

In this dialog box, you can set the type of relationship and the fields of the relationship. The tree on the left represents the structure of the relationship, and the table on the right represents the fields of the relationship.
The operation buttons on the left can delete added relationships, but only the last level of relationship can be deleted, not cascade deletion.
The operation buttons on the right can add or delete fields of the relationship, where relationship fields are required and cannot be empty.
Also, by selecting any node on the main interface and clicking the relationship button in the operation buttons above, you can open the relationship editing page to edit table relationships.

Once saved, the relationship is persistent, meaning it is saved locally and will not be lost due to a restart of IDEA.
If you want to delete all relationships, you can select the relations and then click the delete button above to remove all relationships. Note, this action does not delete the table relationships in the data source, but rather removes the locally maintained relationships.

Code Generation
By clicking on the nodes in the left tree, you can open the table structure editing page, which is used for editing table structures and for generating code for single or multiple tables. If the table is under the tables node, only single table code can be generated. If the table is under the relations node, multiple table code can be generated.

Modifying Field Attributes
n the default column tab, you can modify field attributes, including field name, field type, field length, field precision, field comments, etc. After modification, there will be a preview of the SQL statement below, and clicking the save button will synchronize the updates to the data source.

Code Generation
In the table structure editing page, clicking on the Generate tab will open the code generation page for generating code.

Fill in the relevant information according to the situation, then click the generate button to produce the code.
It should be noted that: The Out Dir directory is matched automatically based on the table name. If your table name follows the module name rules, it will automatically generate in the corresponding submodule. Otherwise, there are two scenarios: if you have set a custom output directory, it will output to the custom directory; if not, it will generate in the root directory.