Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search


Mailing ListForumsIRCmattermost
OpenHelp WantedBug Day
Browse Source

The JavaScript Development Tools (JSDT) is an Eclipse project aimed to build the most accurate JavaScript IDE while keeping it very fast.

It is a child project of the WebTools Platform (WTP) which reuses the Structured Source Editing (SSE) components and that was initiated by cloning and adapting the Java Development Tools (JDT) project.

JSDT is based on WTP, SSE and copies many features from JDT; so it carries on, extends and add rich features like: JavaScript integration in web editors, code completion, smart error detection, AST inference, JS debugging and so on..

JSDT also integrate JS to other technologies like HTML, JSP, CSS, Nodejs, Gulp, Grunt, JSON, Angularjs, Chromium (V8), etc.., plus is open to integrate even more (CoffeeScript, TypeScript...) and is driven by a small and though development team.

Contribute with us, if you dare!


With the advent of Web 2.0, JavaScript has become central in the creation of a richer user experience on the Web. Its use has shifted from the creation of simple functions and events handlers to the creation of complex Web Application frameworks. Such complexity made it crucial that a more sophisticated set of tools become available in Eclipse.

JSDT's goal is to develop an IDE for JavaScript applications, with full support for editing, search, and refactoring. The functionality of the JavaScript Development Tools is heavily based on the functionality of the Java Development Tools, but since JavaScript is not a fully typed or class-based language, it is not possible to provide 100% of the JDT functionality. JSDT is extensible in that it can be (is) plugged into the HTML and JSP editors within WTP as well as being architected with pluggable type inference and completion proposals in mind. The inference engine is used to determine type and class structures from the JavaScript code, enabling as much of the JDT equivalent functionality as possible, while still allowing adopters to contribute to the process for atypical or extended scenarios.

JSDT is split up into three functional areas:

  1. Core - all of the core components, including, but not limited to, the parser, compiler, DOM and ASTs
  2. Debug - integrated debug support for Rhino and Crossfire
  3. UI - all of the UI bits that drive the core

Key Features

There are many features that the JDT has the the JSDT also has.

A few of these key features are:

  • Syntax Highlighting
  • Full outlining showing Classes, Functions and Fields
  • Highlight and check of matching bracket / parenthesis
  • Auto-complete of brackets, parentheses and indentation
  • Marking of Occurrences
  • Generation of element JSDoc
  • Smart Code Completion based on a real-time JavaScript Model
  • Hover Help that displays element declaration with JSDoc or Error message
  • Configurable Error/Warning checking including full language syntax and type/class structure resolution
  • Flow analysis showing unreachable code, unused variables and variable hiding.
  • Quick-fixes
  • Completion Templates
  • Extensible and customizable Code Formatting
  • Full Search
  • Refactoring - renaming, moving, member extraction
  • Support for user defined and browser libraries.


JSDT is included in WebTools and in the Release Train aggregator site. So latest release can directly be installed from<luna|mars|...>.



Back to the top