A lightweight IntelliJ IDEA plugin that adds syntax highlighting, bracket matching, and code formatting support for
.uifiles - making UI definition editing easier and more productive.
An IntelliJ IDEA plugin that provides support for .ui
files - a format for defining user interfaces.
β
Live Preview - Real-time visual rendering of .ui files
in a tool window
β
Syntax Highlighting - Color highlighting for
components, properties, strings, and comments
β
IntelliSense/Code Completion - Auto-completion for UI
component types and their properties with descriptions
β
Color Preview - Visual color squares in the gutter for
hex color values
β
Bracket Matching - Automatic matching of {} and
()
β
Code Folding - Collapse and expand nested blocks
β
New File Action - Create new .ui files from context
menu
β
Plugin Settings - Configure plugin behavior via
Settings β Tools β Hytale UI File
The plugin includes a powerful live preview feature:
- Visual Rendering: See your UI components rendered in real-time
- Auto-Updates: Preview updates automatically as you type
- Zoom Controls: Zoom in/out or reset to 100% for better viewing
- Component Support: Renders Group, Label, Button, and TextField components with accurate colors and sizes
- Docked Panel: Preview appears on the right side of your IDE
The plugin provides an intuitive color picker for hex color values:
- Gutter Icons: Small color squares appear in the gutter next to hex color values (#RGB, #RRGGBB, #RRGGBBAA)
- Click to Edit: Click on any color gutter icon to open the IntelliJ color picker dialog
- Intention Action: Place cursor on a color value and
press
Alt+Enter(orβ₯+Enteron Mac), then select " Choose color" - Alpha Channel Support: The color picker supports transparency (alpha channel)
- Real-time Update: The code updates immediately when you choose a new color
- Hover Tooltip: Hover over color icons to see RGB/RGBA values
Example:
Background: #1a1a2e; β Click the color square in the gutter to change this color
TextColor: #ffffff; β Or press Alt+Enter on the color valueThe plugin provides intelligent code completion that helps you discover and use UI components:
- Component Type Completion: Start typing and get suggestions for all available UI components (Group, Label, Button, TextField, Image, CheckBox, Slider, Panel, ScrollView)
- Property Completion: Inside a component block, get context-aware property suggestions
- Type Information: See the expected value type for each property (color, string, number, boolean, etc.)
- Descriptions: Each property shows a helpful description of what it does
- Smart Templates: Properties are inserted with appropriate default values and syntax
Supported UI Components:
Group- Container with layout capabilitiesLabel- Text displayButton- Clickable button with hover/pressed statesTextField/TextInput- Text input fields with placeholder supportImage- Image display with stretch modesCheckBox- Checkbox with labelSlider- Value slider with min/max rangePanel- Generic panel with border optionsScrollView- Scrollable container
- IntelliJ IDEA 2025.1 - 2025.3 (Build 251.* - 253.*)
- JDK 17, 21, or 25 (for development and building)
git clone https://github.com/BungeeDEV/hytale-ui-plugin.git
cd hytale-ui-plugin./gradlew buildPlugin- Find the built plugin at:
build/distributions/ui-file-plugin-1.0.1.zip - In IntelliJ:
File β Settings β Plugins β βοΈ β Install Plugin from Disk... - Select the
.zipor.jarfile and restart the IDE
./gradlew runIdeThis starts a test IDE with the plugin already installed.
// Comment
Group {
Anchor: (Width: 400, Height: 250);
Background: #1a1a2e;
LayoutMode: Top;
Padding: (Full: 20);
Label #Title {
Text: "Hello World!";
Anchor: (Height: 40);
Style: (FontSize: 24, TextColor: #ffffff, Alignment: Center);
}
Button #SubmitButton {
Text: "Click Me";
Anchor: (Width: 150, Height: 35);
Background: #0066cc;
}
}./gradlew buildPlugin # Build the plugin
./gradlew runIde # Start test IDE
./gradlew test # Run tests
./gradlew verifyPlugin # Verify pluginui-plugin/
βββ src/main/java/de/bungee/uifile/
β βββ UILanguage.java
β βββ UIFileType.java
β βββ lexer/ # Tokenizer
β βββ parser/ # Parser
β βββ psi/ # PSI structures
β βββ highlighter/ # Syntax highlighting
βββ src/main/resources/
βββ META-INF/
βββ plugin.xml
MIT License
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.