|Mailing List • Forums • IRC • mattermost|
|Open • Help Wanted • Bug Day|
- 1.1 Introduction
- 1.2 Description
- 1.3 Key Features
- 1.4 Design
- 1.5 Development
JSDT is included with WTP 3.0 and above.
JSDT is part of the Web Tools Platform Source Editing subproject.
JSDT is split up into three functional areas:
- Core - all of the core components, including, but not limited to, the parser, compiler, DOM and ASTs
- Debug - integrated debug support for Rhino and Crossfire
- UI - all of the UI bits that drive the core
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
- 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.
- Completion Templates
- Extensible and customizable Code Formatting
- Full Search
- Refactoring - renaming, moving, member extraction
- Support for user defined and browser libraries.
- syntax differences - parse definitions
- additional program elements with no correspondence in Java
- object literals
- for (var in collection)
Libraries aren't limited to browser objects. AJAX runtimes can fit nicely into libraries, as would a website's standard set of utility functions. Really the possibilities are limitless. And the library mechanism is extremely easy to expand both by the end-user or through extension points.
|JDT function||JSDT function|
|Build path||Libraries + Global Scope (frequently referred to as an "Include Path")|
|JDK level (1.4 vs 1.5)||ECMAscript level 3 vs 4 (v.3 supported now, v.4 will not be implemented as the specification was abandoned)|
|Compile||Validation & flow analysis|
The following JSDT extension points are supported :
- Global Scope variable initializer
- Global Scope container initializer core
- Code formatter
- Validation participant
Currently the JSDT is represented in an AST.
The following jsdt.ui extension points will be supported :
- Global Scope container initializer ui (Wizzard, content assist images and type/text naming)
Contributing to JSDT
The JSDT is driven by a very small development group with limited resources. ANY serious developers or contributors will be enthusiastically welcomed. For more information on how to become a Committer, check the standard Eclipse process (see New Committer Election). For more information about contributing to JSDT in general, or for questions about its internals, contact wtp-dev.
JSDT Functional Testing
Report bugs through Eclipse Bugzilla under Webtools catagory, Source Editing product, component wst.jsdt.
Here is a list of open JSDT bugs. We're working through them as fast as we can!