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
GWT Studio roadmap for version 1.0 includes:
- integration with HTML editor to support completion and validation of references to GWT resources (e.g. modules) from HTML files.
- much more inspections, quick-fixes and intention actions
- JScript -> native
- html -> GWT source
- check for supported JDK subset
- Visual Designer (low priority task)
Current version of GWT Studio is 0.1.4 It is included EAP builds of IntelliJ IDEA 6.0 (Demetra) starting from build #5333.
GWT Studio is still on the early research stage but most probably, it will become core function of 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.
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
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.