2.5 KiB
DynamicFormTools
Project Overview
The DynamicFormTools is a comprehensive IntelliJ Platform Plugin designed to streamline the development of Java-based web applications that utilize the DynForm framework. It provides a suite of tools for automated code generation, internationalization (i18n) management, and enhanced support for framework-specific file types.
Key Features:
- Action Models Generator: Automates the generation of
ActionBean,DTO, andDataset XMLclasses from a database schema using FreeMarker templates. - I18n Management: Simplifies internationalization workflows with inlay hints, code folding, and smart completion for
message.xmlkeys across Java, XML, and JavaScript. - DynForm Support: Provides specialized support for
.frmlfiles, including file type recognition and intelligent auto-completion. - Database Schema Introspection: Utilizes IntelliJ's database tools to read table and column metadata for code generation.
- Template-driven: Customizable code generation via FreeMarker templates.
Core Technologies:
- Java: Primary development language.
- Kotlin: Used for Gradle configuration and potentially for plugin logic.
- Gradle (Kotlin DSL): Build automation system.
- IntelliJ Platform SDK: For IDE integration, UI actions, and language support.
- FreeMarker: Templating engine for code generation.
Building and Running
This project is an IntelliJ Platform Plugin built with Gradle.
Build the Plugin: To build the plugin, use the following Gradle command:
./gradlew build
This will produce a .zip plugin artifact in the build/distributions directory.
Run the Plugin in a Development IDE: To run a new IntelliJ IDE instance with this plugin installed for development and testing:
./gradlew runIde
Alternatively, you can use the "Run IDE with Plugin" run configuration provided in the .run directory within IntelliJ IDEA.
Development Conventions
- Language: Primarily Java, with Kotlin support configured.
- Build System: Gradle with Kotlin DSL (
.gradle.ktsfiles). - Code Generation: FreeMarker templates are located in
src/main/resources/templates/. Modifications to these templates will change the generated code structure. - IntelliJ Platform APIs: Development involves using IntelliJ Platform SDK for UI actions, virtual file system operations, and database schema access.
- Action Definition: New actions are defined in
src/main/resources/META-INF/plugin.xml.