Tooling & IDE Support
|
This content was generated with the assistance of AI and should be verified against the official documentation before being relied on in production. The reference material consulted while preparing these pages is listed in the section bibliography. |
This page is written against GWT 2.13.1, gwt-maven-plugin 1.3.0 (net.ltgt.gwt.maven), a JDK 21 toolchain with -sourceLevel 17 and Jakarta
Servlet 6 on the server side, and was checked on 2026-10-09: the plugin and extension versions, dates and compatibility lists below were read from
the JetBrains Marketplace, the Eclipse Marketplace, the Visual Studio Marketplace and the GitHub repositories on that day, and the code server,
compiler and DTD examples were run against the Bookshelf scratch application. It is about build and tooling code: how an editor, a debugger and
a compiler cooperate on client code (compiled to JavaScript), shared code (compiled twice, to JavaScript and to bytecode) and server
code (plain Java). No application source changes with anything below. The IDEs themselves were not driven for this page: what they offer is taken
from their vendors' documentation and release metadata, and the sentences that depend on an IDE’s behaviour say so.
What an IDE has to do for a GWT project
GWT does not need an IDE. The compiler, the code server, the Maven plugin and a browser are enough (the getting started page works from a terminal only). An IDE earns its place on a GWT project in four jobs, and it helps to keep them apart because different tools do them:
| Job | Who does it | What GWT adds |
|---|---|---|
Understand the build |
Any Maven-aware IDE reads |
The client module uses the custom packagings |
Edit Java |
The IDE’s Java compiler front end (IntelliJ IDEA’s analysis, Eclipse JDT). |
The code that is compiled to JavaScript is checked a second time by the GWT compiler against the JRE emulation, so the IDE can accept code that GWT rejects. |
Edit GWT’s XML |
An XML editor, a DTD or XSD, or a GWT-specific plugin. |
|
Run and debug |
Maven run configurations, a JDWP debugger for server code and shared code in a JVM, and a browser debugger for client code. |
The code server (Super Dev Mode) compiles to JavaScript and publishes a source map, so client code is debugged as JavaScript shown as Java. |
Source: GWT — Using IntelliJ
The last row is the one that differs most from ordinary Java work. Since GWT 2.7 there is no JVM running the client code, so there is no "Debug as Java application" for the browser side; the debugger attaches to the browser, and the source map is the bridge. That bridge, and what each IDE can do with it, is the subject of the debugging section below.
Support status today
Official GWT documentation has two IDE pages, usingeclipse.html and usingintellij.html, and both live at the site root of
gwtproject.org, not under doc/latest/. Neither one describes a Visual Studio Code workflow. What is current and what is not, as read on 2026-10-09:
| IDE | GWT-specific tooling | Status |
|---|---|---|
IntelliJ IDEA |
The GWT plugin published by JetBrains (Marketplace id 14590, plugin id |
Maintained. The newest builds are |
Eclipse |
The GWT Eclipse Plugin from the community |
Slow. The newest release is |
Visual Studio Code |
No official extension. The community extension GWT Helper ( |
Version |
Source: IntelliJ IDEA Help — GWT
Two consequences follow. First, Maven (or the command line) is the common denominator: a GWT project that builds with
mvn gwt:codeserver -pl bookshelf-client -am and mvn jetty:run -pl bookshelf-server -am -Denv=dev works the same in every IDE, and the IDE-specific
plugins are conveniences on top. Second, nothing in this section assumes a plugin: every IDE-specific step below has a command-line twin that
the development mode and debugging page and the build tools page show.
Importing the Bookshelf project
The Bookshelf is a three-module Maven reactor generated from the modular-webapp archetype (2026.6.22), so "import" means "open the root pom.xml as a
Maven project" in all three IDEs. The checklist is the same everywhere:
-
Open the root
pom.xml(not a single module) so thatbookshelf-shared,bookshelf-clientandbookshelf-serverare imported together. -
Select a JDK 17 to 21 for the project. The archetype compiles with
release17 and the plugin passessourceLevel17 to the GWT compiler, so a project JDK of 21 with language level 17 is the verified combination. -
Let the IDE download the sources of the dependencies if you want to step into GWT’s own classes (
gwt-userships its.javafiles in the same jar). -
Build once from the command line (
mvn -B verify) before the first run from the IDE. The client module depends on thesourcesclassifier jar ofbookshelf-shared, which only exists after thepackagephase.
The last point is a classic: in the scratch application mvn test -pl bookshelf-client -am, which stops before package, fails with the GWT message
No source code is available for type com.example.bookshelf.shared.Book; did you forget to inherit a required module?, and mvn verify does not.
An IDE test runner that builds only the classes shows the same message for the same reason.
| Directory | Contents |
|---|---|
|
Shared Java ( |
|
Client Java ( |
|
Resources that must be on the GWT source path too: |
|
Server Java (servlets, repositories). Plain JVM code. |
Annotation processing is the other import detail. Several libraries used with GWT generate code in javac through annotation processors (for example the
requestfactory-apt artifact that RequestFactory needs, Dagger or the Domino libraries), and the GWT compiler runs the processors it finds on its own
class path as part of every compile. The IDE’s processing is separate and only matters for the IDE’s own error markers. The IntelliJ IDEA documentation says that
processors added through a Maven build script are enabled automatically; if Eclipse or VS Code marks generated types as missing while the Maven build is green,
the IDE’s annotation processing for that project is the first thing to check.
The GWT in Action book (Hanson and Tacy, 2007; see the references) spends its second chapter on creating the project with projectCreator and
applicationCreator, with an -eclipse flag that wrote the Eclipse project and .launch files, and on importing the result into Eclipse. That is the
step that changed most: those scripts no longer exist, webAppCreator is deprecated since 2.11.0,
and the supported route is the Maven import above. The build tools page has the full story of the creator tools.
IntelliJ IDEA
Installing the GWT plugin
The IntelliJ IDEA help page for GWT states that support for Google Web Toolkit is not bundled with the IDE and is installed as a plugin from the JetBrains Marketplace. The Marketplace description lists code completion, syntax and error highlighting with quick fixes and refactorings specific to GWT, dedicated run configurations, integration with the GWT compiler and automatic creation of GWT components. The description does not name UiBinder or module XML editing individually, and this page did not run the plugin, so treat the editing support as "what the vendor describes", not as a verified feature list.
The official GWT page for IntelliJ is more modest and says something different: the GWT plugin belongs to the Ultimate edition, but the free Community edition is all you need, because the IDE’s Maven support reads the project class path and creates run configurations for compiling and running a GWT project. Both statements fit together. The plugin adds GWT-aware editing; the Maven integration alone is enough to build, run and debug.
Run configurations for Super Dev Mode
The official page creates two Maven run configurations, one for the code server and one for the application server. Both take their goals in the command line field of a Maven run configuration (Run | Edit Configurations, add a new configuration, choose Maven). For the Bookshelf they are:
| Configuration | Command line field | Notes |
|---|---|---|
|
|
Start this first and wait for the log line |
|
|
The |
The official page contains a detail that is also verified on the command line: outside the IDE the selector is written -pl *-client -am, which
fails on Maven 3.9.16 with Could not find the selected project in the reactor: *-client, and the page itself says that inside a run configuration the
module name must be written out. In the Bookshelf that is bookshelf-client, and the working form is the one in the table. The page’s own text for the
second configuration starts with mvn, which is how it is typed in a terminal; the command line field of a Maven run configuration holds the goals and
options after mvn, as the JetBrains documentation for that configuration type describes.
A compound configuration (Run | Edit Configurations, add a new Compound configuration) that starts the two in order is a convenience that this page did not exercise; the
ordering matters because the Jetty env-dev profile expects target/gwt/launcherDir to exist, as the table of pitfalls below shows.
To debug server code, run the jetty configuration in debug mode (the Maven run configuration page documents the debugger options of that configuration type)
and set breakpoints in bookshelf-server and in shared code that runs on the server, as in any Java project. That route was not exercised here. Breakpoints in
client Java do not hit this way, because that code is not running in the JVM.
Debugging client code
The JetBrains documentation describes a built-in JavaScript debugger for Chrome and other Chromium-based browsers. It is delivered by the JavaScript
Debugger plugin, which the documentation says is available only in IntelliJ IDEA with the Ultimate subscription, and its toolbar has a Disable Source
Maps toggle for stepping through the code that actually runs. A JavaScript Debug run configuration has a Remote URLs of local files area that maps
local files to the URLs of their copies on the server; the documentation says the mapping is only needed when the local folder structure differs from the
server’s. For GWT that is the case, because the code server presents sources as com/example/bookshelf/client/App.java under its own URL. The section on
source maps below gives the URLs, and what has and has not been verified.
Eclipse
The GWT Eclipse Plugin
The plugin’s README lists: GWT SDK selection, a compiler launcher, development mode launchers (a GWT Development Mode with Jetty launcher and a GWT
Development Mode launcher that runs the code server, both described as Super Dev Mode, plus a legacy classic Dev Mode launcher), a GWT Java editor, a
UiBinder editor, a CSS Resources editor, and Maven integration. The Maven integration supports both the net.ltgt.gwt.maven plugin used in this section
and the legacy Mojo plugin; the plugin’s own documentation recommends the net.ltgt one and calls the Mojo plugin deprecated.
Installation follows the official GWT page for Eclipse: the Eclipse Marketplace entry GWT Plugin, or the update site
https://plugins.gwtproject.org/eclipse/site/latest, which the official page says installs the plugin and the SDK plugins together. Separate update sites exist for the plugin
without SDKs and for the SDK plugins only (https://plugins.gwtproject.org/eclipse/gwt-sdk-plugins/); on 2026-10-09 the latter listed GWT versions from 2.8.2
to 2.13.1.
The official page then walks through File | New | GWT Web Application Project, Debug As | GWT Development mode with Jetty and GWT | Compile. That
walk-through creates a project with the plugin’s own wizard (a template-based wizard was added in 4.2.0), not the Maven archetype, and it predates the
current layout: it talks about a war/ directory and a boilerplate project with client and server packages. For a Maven project like the Bookshelf the
sensible route is File | Import | Existing Maven Projects on the root pom.xml, with the plugin’s launchers or plain Maven launches on top.
What to expect from it in 2026
The plugin has not had a release since February 2025, and two things in its open issue list are worth knowing before you rely on it. Plugin version 4.2.0 refers to a
class that the Equinox runtime removed (PluginVersionIdentifier, issue 521 in the plugin repository), so on the newest Eclipse platform builds it fails to load. A user
also reports that the plugin’s launchers do not honour the project’s Java level, so record types fail in the plugin’s compile but not in Maven (issue 520, not reproduced
here); the workaround the reporter used was to give the launcher an explicit -sourceLevel. Another open pull request adds a Jetty 12 launcher with Jakarta
Servlet support (issue 523), which tells you where the plugin stands against the Jakarta servlet generation this section targets: the built-in server of the
shipped launcher is Jetty 9.
For a Jakarta-era project the pragmatic Eclipse set-up is therefore: import the Maven project with m2e, run gwt:codeserver and Jetty as Maven launches, and use
the plugin only for the editors if it installs on your Eclipse release.
Source: GWT Eclipse Plugin — issues
The plugin’s documentation pages for debugging date from November 2023; one of them describes a separate "SDBG" JavaScript debugger for Eclipse that has to be installed first. That debugger was not looked into for this page.
Visual Studio Code
VS Code needs no GWT extension to work on a GWT project; it needs Java and Maven support, a browser debugger and, optionally, the community helper. This section sticks to what the vendors document.
-
Java and Maven. The Extension Pack for Java (version
0.31.2026060907on 2026-10-09) bundles the Red Hat Java language server, the debugger, the test runner and Maven for Java. Opening the folder with the rootpom.xmllets the Maven support import the modules. The Java build and debugging pages in the VS Code documentation describe the build and the JDWP-based launch and attach configurations that server code needs. -
Run the code server. The Maven for Java view lists the goals of each module; the same goals run from the integrated terminal as
mvn gwt:codeserver -pl bookshelf-client -am. -
GWT Helper. The extension adds an activity bar item that detects "GWT projects" (those with
gwt-maven-pluginin the POM) and "Jetty projects", starts and stopsgwt:devmode,gwt:codeserver,gwt:compileand Jetty from its sidebar and from commands such asGWT: Init/Stop CodeServer, and has an Open Debug command for Chrome or Firefox. Its settings default to the goalsgwt:codeserver,gwt:compile,gwt:devmodeandjetty:runand to the debug URLhttp://localhost:8080. It is a one-person project that has not been updated since March 2025, so check it against the Bookshelf’s POMs: the-pl bookshelf-client -amselection, for instance, is something to add to the goals setting yourself. -
Browser debugging. VS Code’s built-in JavaScript debugger starts a Chromium-family browser from a
launch.jsonentry and supports source maps.
Debugging with source maps from an IDE
All three IDEs reach client code through the same two things: the browser’s JavaScript debugger and the source map that the code server publishes. The development mode and debugging page covers the browser devtools; this section adds what an IDE needs to know.
What the code server publishes
Against the running code server (port 9962 in the run below, started with codeserverArgs in the root POM), the compiled *.cache.js ends with a sourceMappingURL
comment, and the map it points to is plain JSON. These are its fields on the Bookshelf, after a successful compile:
version 3
file sourceMap
sourceRoot http://127.0.0.1:9962/sourcemaps/bookshelf/
sources 878 entries, for example com/example/bookshelf/client/App.java
and com/google/gwt/user/client/ui/Button.java
names 0 entries
other keys mappings (about 420 KB of encoded text), lineCount, x_gwt_permutation, x_gwt_fragment
Three facts matter to an IDE. The sources are package-relative paths, not absolute ones, and there is no sourcesContent: the debugger gets the Java text by
requesting sourceRoot plus the path, and the code server answered with status 200 for .../sourcemaps/bookshelf/com/example/bookshelf/client/App.java, for a
shared class (.../com/example/bookshelf/shared/Book.java) and for a GWT library class (.../com/google/gwt/user/client/ui/Button.java). The map lists the
GWT library sources too, so stepping into Button shows GWT’s own Java. And the map belongs to one permutation: the file name contains the permutation’s hash, which changes
when the code server recompiles with other binding properties.
To set a breakpoint in the local file bookshelf-client/src/main/java/com/example/bookshelf/client/App.java, an IDE has to translate between the two spellings of
the same file. That is what the two path-mapping features are for, and it is the part of this page that has the least verification behind it: the attributes below are
documented by their vendors, but the mapping was not run in either IDE.
| IDE | Setting | Bookshelf mapping |
|---|---|---|
IntelliJ IDEA |
Remote URLs of local files in the JavaScript Debug run configuration (documented as a mapping from a local file or directory to the remote URL of its copy). |
|
VS Code |
|
One pattern per source root, because |
A VS Code launch.json that follows the documented shape, with a chrome entry that opens the application served by Jetty on port 8080 and the two overrides from the table:
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Bookshelf (Super Dev Mode)",
"url": "http://localhost:8080/",
"webRoot": "${workspaceFolder}/bookshelf-client/src/main/java",
"sourceMapPathOverrides": {
"http://127.0.0.1:9876/sourcemaps/bookshelf/com/example/bookshelf/shared/*":
"${workspaceFolder}/bookshelf-shared/src/main/java/com/example/bookshelf/shared/*",
"http://127.0.0.1:9876/sourcemaps/bookshelf/*":
"${workspaceFolder}/bookshelf-client/src/main/java/*"
}
}
]
}
The VS Code page documents type values msedge and chrome, url, and webRoot ("used for sourcemap resolution"); the
sourceMapPathOverrides option is listed in the vscode-js-debug options reference. Whether a breakpoint set in the local .java file binds with these patterns, in the
current VS Code release, is not established here: if it stays grey, the fallback that works in any browser is to set the breakpoint in the Sources tree of the
devtools, where the code server’s own copy of the file is shown, and to read the local file beside it.
Source: vscode-js-debug — Options
Because the browser and the code server must both be running, the debugging session has more parts than a Java one. A checklist that matches the architecture:
-
Start the code server and wait for
The code server is ready. -
Start Jetty with
-Denv=devand open the application once so that the code server compiles the permutation for your browser. -
Start the IDE’s browser debugger against the Jetty URL (not against the code server’s port, which serves only its own module index).
-
Hard-reload after a recompile, because the source map belongs to the permutation hash of the loaded
*.cache.js.
Server and shared code
Code in the server module, and shared code running on the server, is ordinary JVM code and uses the IDE’s normal Java debugger. In IntelliJ IDEA that is the Debug button of the
Maven run configuration shown above; in VS Code and Eclipse it is a launch or attach configuration for the JVM Maven started. The generic attach recipe, which does not depend on
any IDE, is the JDWP agent in MAVEN_OPTS, as the development mode page shows. The same page explains why a JUnit test of a presenter with a fake view (see Testing) is usually the best IDE
debugging experience for client logic: it runs in a JVM, where every IDE feature works without a browser.
The code server serves the sources of the module to anyone who can reach its port, so keep the debugging session on localhost, as the security section of the development mode page explains. The map and the Java files it references contain your source code.
Editing module XML and UiBinder templates
Module XML
A *.gwt.xml file is XML, and GWT publishes a DTD for it. The DTD for 2.13.1 is at https://www.gwtproject.org/doctype/2.13.1/gwt-module.dtd; its text is the file
distro-source/core/src/gwt-module.dtd of the 2.13.1 source tree (compared byte for byte, the copies at the versioned URLs for 2.9.0 to 2.13.1 are identical, while those for 2.8.0 to 2.8.2
differ, and 2.8.0 lacks when-linker-added). Add it as a DOCTYPE and any editor that validates against a DTD can complete and check element names. This is the form webAppCreator writes:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.13.1//EN"
"https://www.gwtproject.org/doctype/2.13.1/gwt-module.dtd">
<module rename-to="tiny">
<inherits name="com.google.gwt.core.Core" />
<source path="client" />
<entry-point class="tiny.client.Tiny" />
</module>
The DOCTYPE is for editors only, which two checks confirm. With the system identifier pointing at an unreachable address (http://127.0.0.1:9/doctype/gwt-module.dtd), the
compiler (Compiler -validateOnly -failOnError) still exited with status 0, because the module parser disables external DTD loading (its source sets the Xerces
feature load-external-dtd to false). The compiler also checks element names itself: a typo in the module file stops it with a message in GWT’s own words. A DTD-aware
editor reports the same typo earlier, as xmllint --dtdvalid does on the command line (the xmllint run used a copy of the file without the DOCTYPE, because xmllint could not
fetch the https address itself, and the middle of the first message is abbreviated):
$ java -cp ... com.google.gwt.dev.Compiler -validateOnly -failOnError -war out tiny.Typo
Loading inherited module 'tiny.Typo'
[ERROR] Line 5: Unexpected element 'inherit'
$ xmllint --noout --dtdvalid gwt-module-2.13.1.dtd Typo.gwt.xml
Typo.gwt.xml:2: element module: validity error : Element module content does not follow the DTD, expecting (inherits | source | public | ... )*, got (inherit source entry-point )
Typo.gwt.xml:3: element inherit: validity error : No declaration for element inherit
Typo.gwt.xml:3: element inherit: validity error : No declaration for attribute name of element inherit
Document Typo.gwt.xml does not validate against gwt-module-2.13.1.dtd
Source: GWT 2.13.1 — gwt-module.dtd
The Bookshelf’s own module.gwt.xml (without a DOCTYPE) validated against the 2.13.1 DTD with xmllint --noout --dtdvalid, which printed nothing and returned 0. The DTD
knows the elements the page on project structure and modules describes (inherits, source, public, super-source,
entry-point, set-property, set-configuration-property, add-linker, collapse-property and the others). It cannot know your own property names or module names, so a
misspelt inherits name still reaches the compiler, which reports the missing module when it loads it.
Visual Studio Code with the Red Hat XML extension (0.29.2026100808 on 2026-10-09) lists DTD validation, completion and formatting among its features, and a setting
(xml.downloadExternalResources.enabled, default true) that lets it download a referenced DTD. A module file with the DOCTYPE above is therefore the simplest way to get completion
there; the extension’s documentation also describes binding a grammar to files without touching them. This was read from the extension’s README and not run.
UiBinder templates
A *.ui.xml template is XML in two namespaces (urn:ui:com.google.gwt.uibinder for the ui: elements and urn:import:<package> for widgets), and GWT ships schemas that
IDEs can use. The gwt-user-2.13.1.jar contains, under com/google/gwt/uibinder/resources/, UiBinder.xsd and com.google.gwt.user.client.ui.xsd (the schema for the
urn:import:com.google.gwt.user.client.ui widgets), and xhtml.ent (the entity definitions that the template DOCTYPE refers to). The comments inside UiBinder.xsd are
specific about its purpose: the schema is a temporary implementation detail, it is not meant for validation (it is not even a valid schema, in the author’s words, and its constraints
regularly differ from the real parser’s), and it was written to give Eclipse autocompletion proposals, with required attributes marked so that completion can insert them.
Take that at face value. An IDE may offer completion for widget and attribute names from these schemas, but only the GWT compiler decides whether a template is valid: a
template with {msg.title} and no <ui:with field="msg" .../> is accepted by an editor and rejected when the generator runs, with the no field named msg message that the
UiBinder page lists. The named HTML entities ( ) are the one case where the template needs a DOCTYPE
(<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">); the compiler resolves that file from the jar, and an IDE may try to download it.
Source: GWT 2.13.1 — UiBinder.xsd
The ui:field to @UiField connection, the @UiHandler references and the ui:style class names cross between XML and Java, and that cross-navigation is the kind of coding
assistance a GWT-aware plugin provides. The GWT Eclipse Plugin lists a UiBinder editor, and the IntelliJ IDEA plugin’s description is generic ("coding assistance specific to GWT"). With
neither plugin, or with VS Code, those links are text: build errors from the generator are the safety net, and the UiBinder page shows the messages.
Where the IDE and the GWT compiler disagree
The IDE checks Java against the full JRE. The GWT compiler checks client and shared code against the emulated one, so code that is correct to the IDE can be rejected by GWT. The
standard demonstration is a client class that imports java.io.File:
package tiny.client;
import com.google.gwt.core.client.EntryPoint;
import java.io.File;
public class Tiny implements EntryPoint {
@Override
public void onModuleLoad() {
File f = new File("books.txt");
f.exists();
}
}
Source: GWT — JRE Emulation
javac compiled this class without a message; the GWT compiler (-validateOnly) reported:
[ERROR] Line 9: No source code is available for type java.io.File; did you forget to inherit a required module?
[ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
The IDE cannot know which source folders belong to the client, so it cannot warn you: the <source path="client" /> declaration in the module file is what turns a folder into
"client code". The JRE emulation and shared code page lists what the emulation supports, and the
compiler and compilation page shows how to run the compiler for validation only.
Pitfalls
| Message or symptom | Cause | Fix |
|---|---|---|
|
The |
Write the module name: |
|
Jetty with the |
Start the code server first and wait for |
|
The |
Run |
|
The IDE compiles against the full JRE; the GWT compiler uses the emulated one. |
Use an emulated class, or move the code to the server; see the JRE emulation page. |
|
A misspelt element in the module file. The IDE only reports it if it applies the DTD. |
Add the |
|
The GWT Eclipse Plugin 4.2.0 uses a class that Equinox removed in |
Use an Eclipse release the plugin supports, or work without the plugin (m2e plus Maven launches). |
|
Reported in issue 520 of the plugin repository: the launcher’s default |
Pass |
Breakpoint in the local |
The IDE has not mapped the code server’s source URL to the local file, or the page runs an older permutation. |
Check the path mapping, hard-reload after a recompile, and fall back to the Sources tree of the devtools. |
|
Source URLs only answer after the first successful compile; the code server has not compiled the module. |
Open the application once, then retry. |
Source: GWT — Super Dev Mode
Where older material is outdated
-
The official Eclipse page describes the project wizard of the plugin, the
war/directory, Debug As | GWT Development mode with Jetty and an App Engine deployment step. The Maven-based layout of this section replaces the first two, and the classic Dev Mode path is deprecated since 2.8.0. -
The official IntelliJ page is the current one: it assumes an archetype-generated Maven project and Super Dev Mode, but its
*-clientand*-serverselectors fail on Maven 3.9.16, as the page itself half-acknowledges, and its Jetty command line uses thejettyplugin prefix of the archetype. -
The book’s second chapter teaches
projectCreator -eclipseandapplicationCreator -eclipseplus importing into Eclipse and launching the hosted browser from a.launchfile; none of that tooling exists in GWT 2.13.1. -
Tutorials and blog posts that show the Google Plugin for Eclipse (GPE), the GWT Designer or the browser plugin for classic Dev Mode describe tools that are no longer distributed.
A request to collect pointers to the common IDEs for every language and web framework on this site, with their official links, is tracked separately as issue 116 of this documentation repository. This page only covers the GWT specifics; for the general IDE overview, follow that issue.