The JavaScript Development Tools provide plug-ins that
implement an IDE supporting the development of JavaScript
applications and JavaScript within web applications. It adds a
JavaScript project type and perspective to the Eclipse Workbench as
well as a number of views, editors, wizards, and builders.
