GWT Studio plugin for IntelliJ IDEA
What is GWT Studio?
GWT Studio plugin for IntelliJ IDEA simplifies development of Web applications using Google Web Toolkit.
GWT Studio provides the following features:
- actions to create different elements of GWT application
- GWT specific inspections and quick fixes
- integration with GWT compiler
- specific run configuration for starting and debugging GWT applications from IntelliJ IDEA
- basic refactorings
- "Go To Declaration" action and completion for references from Java code to html and CSS and for references to inherited modules from GWT module file
- new: integration with GWT internationalization (i18n) support (will be available in IDEA 6.0.2)
Current version of GWT Studio is 1.0. It is bundled with IntelliJ IDEA 6.0 (Demetra).
Actions are used to generate GWT elements such as entry points, remote services, etc. Each action suggests to configure GWT support if necessary and adds GWT libraries into module classpath.
New GWT Module
Creates GWT application template inluding:
- .gwt.xml module file
- EntryPoint class
- .html page
- .css file
New GWT Entry Point
Creates GWT entry point template and performs the following operations:
- generates a class derived from EntryPoint
- adds a necessary <entry-point> element to the .gwt.xml module file
New GWT RemoteService
Creates GWT remote service template and performs the following operations:
- generates an interface derived from RemoteService
- creates an async version of the interface
- creates RemoteServiceServlet implementing the interface
- adds necessary <servlet> element to the .gwt.xml module file
New GWT Serializable Class
Creates new class derived from IsSerializable with no-argument constructor
New GWT Sample Application
Creates sample application which send a text message to the server and display the responce. It can be used as simple starting point.
"Go to declaration", "Find Usages", "Rename" actions, completion and highlighting works for references from java-code to CSS (for parameter of methods UIObject.setStyleName, addStyleName, removeStyleName) and for references from java-code to html tags (for parameter of method RootPanel.get).
Inspections with quick-fixes
- RemoteService-derived interface is not synchronized with its async version
- Async version of RemoteService-derived interface is not synchronized with original interface
- Parameter or return type of method in RemoteService-derived interface is not IsSerializable
- Style name used as parameter of .addStyleName or .setStyleName is not presented in CSS file
- Classes not from JRE emulation library (and not from client code of inherited modules) is used in client code
- GWT Remote service is not registered as a servlet in web.xml
Integration with I18n support
This feature is available in Demetra EAP build 6068 .
- navigation from method of interface to corresponding property (using icon on an editor gutter or "Go to implementation" action)
- inspection to report about inconsistency between interface and property files (with quickfixes to create missing property or method)
- "Rename" refactoring for properties, methods and interfaces renames corresponding methods, properties and properties-files.
Run/Debug GWT application in hosted mode
Use "GWT configuration" to run/debug GWT application in hosted mode
Run GWT application in Web mode
If GWT application is placed in a Web module IDEA will invoke GWT compiler and package a generated files to war/exploded directory on make.
GWT Studio comes bundled with IntelliJ IDEA starting from EAP build #5350.
To report bug or request feature, visit Demetra EAP Plugins forum
You can download the source files of the application created in the demo. In this case, configure GWT Studio as shown in the demo, create a new project, and then replace its source files with the files extracted from the downloaded archive using any file explorer.