Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "JSDT/Development"

(Developing JSDT)
(JSDT Sources)
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Developing JSDT=
+
{{JSDT}}
  
== JSDT Source ==
+
As of WTP 3.0, JSDT is part of the Web Tools Platform.
The source for JSDT is in the Web Tools project (repository path /cvsroot/webtools).  
+
  
The following plugin projects provide the core JavaScript editing:
+
== Contributing to JSDT ==
* sourceediting/plugins/org.eclipse.wst.jsdt.core
+
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 [http://www.eclipse.org/projects/dev_process/new-committer.php New Committer Election]).  For more information about contributing to JSDT in general, or for questions about its internals, contact [mailto:wtp-dev@eclipse.org?subject=JSDT wtp-dev].
* sourceediting/plugins/org.eclipse.wst.jsdt.manipulation
+
* sourceediting/plugins/org.eclipse.wst.jsdt.ui
+
These plugins have no dependencies other than the Eclipse base (they dont depend on any WebTools).  Using these plugins, a javascript project can be created.
+
  
The feature project for these is:
 
* sourceediting/features/org.eclipse.wst.jsdt.feature
 
  
 +
=== JSDT Functional Testing ===
 +
[[JSDTestScenarios | Testing Scenarios ]]
  
The following plugin projects provide JSDT integration with WebTools, and provide support for javascript within HTML and JSP:
+
=== Reporting Bugs ===
* sourceediting/plugins/org.eclipse.wst.jsdt.web.core
+
Report bugs through [http://bugs.eclipse.org/bugs/ Eclipse Bugzilla] under WebTools catagory, JSDT component.
* sourceediting/plugins/org.eclipse.wst.jsdt.web.support.jsp
+
* sourceediting/plugins/org.eclipse.wst.jsdt.web.ui
+
  
The feature project for these is:  
+
Here is a [https://bugs.eclipse.org/bugs/buglist.cgi?list_id=3212991&resolution=---&classification=WebTools&query_format=advanced&product=JSDT list of open JSDT bugs]. We're working through them as fast as we can!
* sourceediting/features/org.eclipse.wst.jsdt.web.feature
+
  
The following are the junits for JSDT:
+
=== JSDT Sources ===
* sourceediting/tests/org.eclipse.wst.jsdt.core.tests.compiler  - (test suite is org.eclipse.wst.jsdt.core.tests.compiler.JSDTTestAll)
+
* sourceediting/tests/org.eclipse.wst.jsdt.core.tests.model - (test suite is org.eclipse.wst.jsdt.core.tests.model.AllJavaModelTests)
+
  
== JSDT packages ==  
+
Git Repositories:
 +
 
 +
*[http://git.eclipse.org/c/jsdt/webtools.jsdt.core.git/ webtools.jsdt.core.git] [https://github.com/eclipse/webtools.jsdt.core GitHub]
 +
*[http://git.eclipse.org/c/jsdt/webtools.jsdt.debug.git/ webtools.jsdt.debug.git] [https://github.com/eclipse/webtools.jsdt.debug GitHub]
 +
*[http://git.eclipse.org/c/jsdt/webtools.jsdt.tests.git/ webtools.jsdt.tests.git] [https://github.com/eclipse/webtools.jsdt.tests GitHub]
 +
 
 +
Detailed repository contents you can find at this page: http://wiki.eclipse.org/WTP_Git_Migration_Checklist
 +
 
 +
These plug-ins have no dependencies other than the Eclipse base (nor do they depend on anything else in WTP).  Using these plug-ins, a standalone JavaScript Project can be created and used:
 +
* webtools.jsdt.core.git/bundles/org.eclipse.wst.jsdt.core
 +
* webtools.jsdt.core.git/bundles/org.eclipse.wst.jsdt.manipulation
 +
* webtools.jsdt.core.git/bundles/org.eclipse.wst.jsdt.ui
 +
 
 +
The Feature project for these is:
 +
* webtools.jsdt.core.git/features/org.eclipse.wst.jsdt.feature
 +
 
 +
=== HTML an JSP editors ===
 +
 
 +
JSDT provides JavaScript support for the WTP HTML and JSP editors in the WTP Source Editing project [http://git.eclipse.org/c/sourceediting/ Git repositories]. [https://github.com/eclipse/webtools.sourceediting GitHub]
 +
 
 +
The following plug-in projects provide JSDT integration with WTP's HTML and JSP editors:
 +
* webtools.sourceediting.git/bundles/org.eclipse.wst.jsdt.web.core
 +
* webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.web.ui
 +
* webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.web.support.jsp - contains JSP-specific functionality
 +
* webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.support.firefox - contains bindings for Mozilla FireFox, current as of FF 2.0.x (deprecated)
 +
* webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.support.ie - contains bindings for Microsoft Internet explorer (deprecated)
 +
 
 +
=== JSDT tests ===
 +
 
 +
The following are the JUnits test plug-ins for JSDT:
 +
* webtools.jsdt.tests.git/tests/org.eclipse.wst.jsdt.core.tests.compiler  - (test suite is org.eclipse.wst.jsdt.core.tests.compiler.JSDTTestAll)
 +
* webtools.jsdt.tests.git/tests/org.eclipse.wst.jsdt.core.tests.model - (test suite is org.eclipse.wst.jsdt.core.tests.model.AllJavaModelTests)
 +
 
 +
These test plug-ins are new to WTP 3.1 and above:
 +
* webtools.sourceediting.tests.git/tests/org.eclipse.wst.jsdt.web.core.tests  - (test suite is org.eclipse.wst.jsdt.web.core.tests.translation.AllWebCoreTests)
 +
* webtools.sourceediting.tests.git/tests/org.eclipse.wst.jsdt.web.ui.tests - (test suite is org.eclipse.wst.jsdt.web.ui.tests.AllWebUITests)
 +
 
 +
These test plug-ins are new to WTP 3.2 and above:
 +
* webtools.jsdt.tests.git/tests/org.eclipse.wst.jsdt.ui.tests  - (test suite is org.eclipse.wst.jsdt.ui.tests.JSDTUITests)
 +
 
 +
== JSDT packages ==
 +
 
 +
=== JSDT Core ===
 +
The JSDT core plugin (org.eclipse.wst.jsdt.core) provides the core JavaScript modeling.
 +
 
 +
 
 +
{| border="1"
 +
|+ Core plugin packages
 +
! package !! function
 +
|-
 +
! org.eclipse.wst.jsdt.core
 +
| public apis for the module
 +
|-
 +
! org.eclipse.wst.jsdt.core.ast
 +
| The public apis for the read-only AST used by inference engines
 +
|-
 +
! org.eclipse.wst.jsdt.core.compiler
 +
| the public apis for the validator
 +
|-
 +
! org.eclipse.wst.jsdt.core.compiler.libraries
 +
| libraries which define the javascript language apis and the browser DOM apis
 +
|-
 +
! org.eclipse.wst.jsdt.core.dom
 +
| Modifiable JavaScript model DOM
 +
|-
 +
! org.eclipse.wst.jsdt.core.dom.rewrite
 +
| support for updating the dom
 +
|-
 +
! org.eclipse.wst.jsdt.core.eval
 +
| support for evaluating code fragments
 +
|-
 +
! org.eclipse.wst.jsdt.core.formatter
 +
| public apis for javascript formatting
 +
|-
 +
! org.eclipse.wst.jsdt.core.infer
 +
| support for inferencing and inferencing extensions
 +
|-
 +
! org.eclipse.wst.jsdt.core.search
 +
| public apis for search
 +
|-
 +
! org.eclipse.wst.jsdt.core.util
 +
| public utility apis
 +
|-
 +
! org.eclipse.wst.jsdt.internal.codeassist
 +
| support for code assist and selection
 +
|-
 +
! org.eclipse.wst.jsdt.internal.codeassist.complete
 +
| support for code assist
 +
|-
 +
! org.eclipse.wst.jsdt.internal.codeassist.impl
 +
| support for code assist
 +
|-
 +
! org.eclipse.wst.jsdt.internal.codeassist.select
 +
| support for code selection
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler
 +
| validation code
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.ast
 +
| internal javascript AST (Abstract Syntax Tree)
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.batch
 +
| support for batch validation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.classfmt
 +
| ??
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.env
 +
| ??
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.flow
 +
| support for analyzing code flow for unused vars, etc
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.impl
 +
| implementation of public apis
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.lookup
 +
| support for resolving var/function references
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.parser
 +
| the parser
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.parser.diagnose
 +
| the diagnose parser used when there are syntax errors
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.problem
 +
| support for problem messages
 +
|-
 +
! org.eclipse.wst.jsdt.internal.compiler.util
 +
| parser/validator utilities
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core
 +
| implementation of public apis
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.builder
 +
| implementation of eclipse builder extension
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.dom.rewrite
 +
| support for updating code on DOM changes
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.hierarchy
 +
| support for generating class hierarchy
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.index
 +
| support for indexing the model, used by search
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.interpret
 +
| javascript interpreter - under development , currently not used
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.interpret.builtin
 +
| implementation of javascript language functions used by interpreter
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.search
 +
| searching functions
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.search.indexing
 +
| indexing of javascript
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.search.matching
 +
| functions to determine if possible search match is exact match
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.search.processing
 +
| search
 +
|-
 +
! org.eclipse.wst.jsdt.internal.core.util
 +
| internal utilities
 +
|-
 +
! org.eclipse.wst.jsdt.internal.formatter
 +
| formatter implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.formatter.align
 +
| formatter implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.formatter.comment
 +
| comment formatter implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.oaametadata
 +
| support for OpenAjax metadata
 +
|-
 +
! org.eclipse.wst.jsdt.launching
 +
| misc utilities
 +
|-
 +
! org.eclipse.wst.jsdt.libraries
 +
| Library support
 +
|}
 +
 
 +
===JSDT UI===
 +
User interface code
 +
 
 +
{| border="1"
 +
|+ Core plugin packages
 +
! package !! function
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext
 +
|  refactoring support
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.buildpath
 +
| support for include path editing
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.callhierarchy
 +
| support for call hierarchy
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.codemanipulation
 +
|  support for code refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.dom
 +
 +
|- support for dom maniputation used for refactoring
 +
! org.eclipse.wst.jsdt.internal.corext.dom.fragments
 +
|  support for manipulating dom fragments
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.fix
 +
|  support for quick fix
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.javadoc
 +
| support for jsdoc editing
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring
 +
|  support for refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.base
 +
|  support for refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.binary
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.changes
 +
| refactoring change classes
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.code
 +
|  refactoring of code segments
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow
 +
| support for refactoring of code segments
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.delegates
 +
|  support for "create delegates" action
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.generics
 +
|  currently unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.nls
 +
| currently unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.nls.changes
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.participants
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.rename
 +
|  rename refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.reorg
 +
| copy/move refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.scripting
 +
|  support for scripiting of refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.sef
 +
| encapsulate field refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.structure
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.structure.constraints
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.surround
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.tagging
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints
 +
|  currently unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints.types
 +
|  currently unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints.typesets
 +
|  currently unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints2
 +
|  currently unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.refactoring.util
 +
|  refactoring utilities
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.template.java
 +
|  support for templates
 +
|-
 +
! org.eclipse.wst.jsdt.internal.corext.util
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.actions
 +
|  implementation of actions
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.browsing
 +
|  currently unused - support for browse perspective
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.callhierarchy
 +
|  ui for call hierarchy
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.commands
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.compare
 +
|  compare ui
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.dialogs
 +
|  various diaglogs
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.dnd
 +
|  drag/drop support
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.filters
 +
|  implementation of view filters
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.fix
 +
|  automatic cleanup functions
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.infoviews
 +
|  various views
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.javadocexport
 +
|  export of js doc
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.javaeditor
 +
|  javascirpt editor implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.javaeditor.saveparticipant
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.javaeditor.selectionactions
 +
|  change selection actions
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.model
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.navigator
 +
|  implementation of navigator
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.packageview
 +
| implementation of script explorer
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.preferences
 +
| preferences ui
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.preferences.cleanup
 +
| ui for cleanup preferences
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.preferences.formatter
 +
| ui for formatter preferences
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring
 +
| ui for refactoring preferences
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.actions
 +
| actions for refactoring
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.binary
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.code
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.contentassist
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.nls
 +
| current unused
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.nls.search
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.reorg
 +
| move/copy/delete
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.refactoring.sef
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.search
 +
| search ui
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text
 +
| javascript source editing utilites
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.comment
 +
| comment editing
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.correction
 +
| quick fix implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.folding
 +
|  folding implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.html
 +
| editing of html inside jsdoc
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.java
 +
|  content assist implementation
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.java.hover
 +
| hover help 
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.javadoc
 +
|  jsdoc editing
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.spelling
 +
| spell checking
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.spelling.engine
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.template.contentassist
 +
| content assist templates
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.text.template.preferences
 +
| template editing
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.typehierarchy
 +
| type hierarchy ui
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.util
 +
| utilities
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.viewsupport
 +
| view utilities
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.wizards
 +
| wizards
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths
 +
| include path editing
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths.newsourcepage
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields
 +
 +
|-
 +
! org.eclipse.wst.jsdt.internal.ui.workingsets
 +
 +
|-
 +
! org.eclipse.wst.jsdt.libraries
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.actions
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.dialogs
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.project
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.refactoring
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.search
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.text
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.text.folding
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.text.java
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.text.java.hover
 +
 +
|-
 +
! org.eclipse.wst.jsdt.ui.wizards
 +
 +
|}
  
 
== Generating the parser ==
 
== Generating the parser ==
 
Follow the instructions at http://www.eclipse.org/jdt/core/howto/generate%20parser/generateParser.html for generating the parser.  The parser grammer file is located in cvs at sourceediting/plugins/org.eclipse.wst.jsdt.core/grammer/js.g
 
Follow the instructions at http://www.eclipse.org/jdt/core/howto/generate%20parser/generateParser.html for generating the parser.  The parser grammer file is located in cvs at sourceediting/plugins/org.eclipse.wst.jsdt.core/grammer/js.g
 +
 +
== JUnit Tests ==
 +
 +
== Debugging JSDT ==
 +
 +
[[Category:JSDT]]

Revision as of 14:18, 15 October 2012


JSDT
Website
Download
Community
Mailing ListForumsIRCmattermost
Issues
OpenHelp WantedBug Day
Contribute
Browse Source


As of WTP 3.0, JSDT is part of the Web Tools Platform.

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

Testing Scenarios

Reporting Bugs

Report bugs through Eclipse Bugzilla under WebTools catagory, JSDT component.

Here is a list of open JSDT bugs. We're working through them as fast as we can!

JSDT Sources

Git Repositories:

Detailed repository contents you can find at this page: http://wiki.eclipse.org/WTP_Git_Migration_Checklist

These plug-ins have no dependencies other than the Eclipse base (nor do they depend on anything else in WTP). Using these plug-ins, a standalone JavaScript Project can be created and used:

  • webtools.jsdt.core.git/bundles/org.eclipse.wst.jsdt.core
  • webtools.jsdt.core.git/bundles/org.eclipse.wst.jsdt.manipulation
  • webtools.jsdt.core.git/bundles/org.eclipse.wst.jsdt.ui

The Feature project for these is:

  • webtools.jsdt.core.git/features/org.eclipse.wst.jsdt.feature

HTML an JSP editors

JSDT provides JavaScript support for the WTP HTML and JSP editors in the WTP Source Editing project Git repositories. GitHub

The following plug-in projects provide JSDT integration with WTP's HTML and JSP editors:

  • webtools.sourceediting.git/bundles/org.eclipse.wst.jsdt.web.core
  • webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.web.ui
  • webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.web.support.jsp - contains JSP-specific functionality
  • webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.support.firefox - contains bindings for Mozilla FireFox, current as of FF 2.0.x (deprecated)
  • webtools.sourceediting.git/bundles/plugins/org.eclipse.wst.jsdt.support.ie - contains bindings for Microsoft Internet explorer (deprecated)

JSDT tests

The following are the JUnits test plug-ins for JSDT:

  • webtools.jsdt.tests.git/tests/org.eclipse.wst.jsdt.core.tests.compiler - (test suite is org.eclipse.wst.jsdt.core.tests.compiler.JSDTTestAll)
  • webtools.jsdt.tests.git/tests/org.eclipse.wst.jsdt.core.tests.model - (test suite is org.eclipse.wst.jsdt.core.tests.model.AllJavaModelTests)

These test plug-ins are new to WTP 3.1 and above:

  • webtools.sourceediting.tests.git/tests/org.eclipse.wst.jsdt.web.core.tests - (test suite is org.eclipse.wst.jsdt.web.core.tests.translation.AllWebCoreTests)
  • webtools.sourceediting.tests.git/tests/org.eclipse.wst.jsdt.web.ui.tests - (test suite is org.eclipse.wst.jsdt.web.ui.tests.AllWebUITests)

These test plug-ins are new to WTP 3.2 and above:

  • webtools.jsdt.tests.git/tests/org.eclipse.wst.jsdt.ui.tests - (test suite is org.eclipse.wst.jsdt.ui.tests.JSDTUITests)

JSDT packages

JSDT Core

The JSDT core plugin (org.eclipse.wst.jsdt.core) provides the core JavaScript modeling.


Core plugin packages
package function
org.eclipse.wst.jsdt.core public apis for the module
org.eclipse.wst.jsdt.core.ast The public apis for the read-only AST used by inference engines
org.eclipse.wst.jsdt.core.compiler the public apis for the validator
org.eclipse.wst.jsdt.core.compiler.libraries libraries which define the javascript language apis and the browser DOM apis
org.eclipse.wst.jsdt.core.dom Modifiable JavaScript model DOM
org.eclipse.wst.jsdt.core.dom.rewrite support for updating the dom
org.eclipse.wst.jsdt.core.eval support for evaluating code fragments
org.eclipse.wst.jsdt.core.formatter public apis for javascript formatting
org.eclipse.wst.jsdt.core.infer support for inferencing and inferencing extensions
org.eclipse.wst.jsdt.core.search public apis for search
org.eclipse.wst.jsdt.core.util public utility apis
org.eclipse.wst.jsdt.internal.codeassist support for code assist and selection
org.eclipse.wst.jsdt.internal.codeassist.complete support for code assist
org.eclipse.wst.jsdt.internal.codeassist.impl support for code assist
org.eclipse.wst.jsdt.internal.codeassist.select support for code selection
org.eclipse.wst.jsdt.internal.compiler validation code
org.eclipse.wst.jsdt.internal.compiler.ast internal javascript AST (Abstract Syntax Tree)
org.eclipse.wst.jsdt.internal.compiler.batch support for batch validation
org.eclipse.wst.jsdt.internal.compiler.classfmt  ??
org.eclipse.wst.jsdt.internal.compiler.env  ??
org.eclipse.wst.jsdt.internal.compiler.flow support for analyzing code flow for unused vars, etc
org.eclipse.wst.jsdt.internal.compiler.impl implementation of public apis
org.eclipse.wst.jsdt.internal.compiler.lookup support for resolving var/function references
org.eclipse.wst.jsdt.internal.compiler.parser the parser
org.eclipse.wst.jsdt.internal.compiler.parser.diagnose the diagnose parser used when there are syntax errors
org.eclipse.wst.jsdt.internal.compiler.problem support for problem messages
org.eclipse.wst.jsdt.internal.compiler.util parser/validator utilities
org.eclipse.wst.jsdt.internal.core implementation of public apis
org.eclipse.wst.jsdt.internal.core.builder implementation of eclipse builder extension
org.eclipse.wst.jsdt.internal.core.dom.rewrite support for updating code on DOM changes
org.eclipse.wst.jsdt.internal.core.hierarchy support for generating class hierarchy
org.eclipse.wst.jsdt.internal.core.index support for indexing the model, used by search
org.eclipse.wst.jsdt.internal.core.interpret javascript interpreter - under development , currently not used
org.eclipse.wst.jsdt.internal.core.interpret.builtin implementation of javascript language functions used by interpreter
org.eclipse.wst.jsdt.internal.core.search searching functions
org.eclipse.wst.jsdt.internal.core.search.indexing indexing of javascript
org.eclipse.wst.jsdt.internal.core.search.matching functions to determine if possible search match is exact match
org.eclipse.wst.jsdt.internal.core.search.processing search
org.eclipse.wst.jsdt.internal.core.util internal utilities
org.eclipse.wst.jsdt.internal.formatter formatter implementation
org.eclipse.wst.jsdt.internal.formatter.align formatter implementation
org.eclipse.wst.jsdt.internal.formatter.comment comment formatter implementation
org.eclipse.wst.jsdt.internal.oaametadata support for OpenAjax metadata
org.eclipse.wst.jsdt.launching misc utilities
org.eclipse.wst.jsdt.libraries Library support

JSDT UI

User interface code

Core plugin packages
package function
org.eclipse.wst.jsdt.internal.corext refactoring support
org.eclipse.wst.jsdt.internal.corext.buildpath support for include path editing
org.eclipse.wst.jsdt.internal.corext.callhierarchy support for call hierarchy
org.eclipse.wst.jsdt.internal.corext.codemanipulation support for code refactoring
org.eclipse.wst.jsdt.internal.corext.dom
org.eclipse.wst.jsdt.internal.corext.dom.fragments support for manipulating dom fragments
org.eclipse.wst.jsdt.internal.corext.fix support for quick fix
org.eclipse.wst.jsdt.internal.corext.javadoc support for jsdoc editing
org.eclipse.wst.jsdt.internal.corext.refactoring support for refactoring
org.eclipse.wst.jsdt.internal.corext.refactoring.base support for refactoring
org.eclipse.wst.jsdt.internal.corext.refactoring.binary
org.eclipse.wst.jsdt.internal.corext.refactoring.changes refactoring change classes
org.eclipse.wst.jsdt.internal.corext.refactoring.code refactoring of code segments
org.eclipse.wst.jsdt.internal.corext.refactoring.code.flow support for refactoring of code segments
org.eclipse.wst.jsdt.internal.corext.refactoring.delegates support for "create delegates" action
org.eclipse.wst.jsdt.internal.corext.refactoring.generics currently unused
org.eclipse.wst.jsdt.internal.corext.refactoring.nls currently unused
org.eclipse.wst.jsdt.internal.corext.refactoring.nls.changes
org.eclipse.wst.jsdt.internal.corext.refactoring.participants
org.eclipse.wst.jsdt.internal.corext.refactoring.rename rename refactoring
org.eclipse.wst.jsdt.internal.corext.refactoring.reorg copy/move refactoring
org.eclipse.wst.jsdt.internal.corext.refactoring.scripting support for scripiting of refactoring
org.eclipse.wst.jsdt.internal.corext.refactoring.sef encapsulate field refactoring
org.eclipse.wst.jsdt.internal.corext.refactoring.structure
org.eclipse.wst.jsdt.internal.corext.refactoring.structure.constraints
org.eclipse.wst.jsdt.internal.corext.refactoring.surround
org.eclipse.wst.jsdt.internal.corext.refactoring.tagging
org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints currently unused
org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints.types currently unused
org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints.typesets currently unused
org.eclipse.wst.jsdt.internal.corext.refactoring.typeconstraints2 currently unused
org.eclipse.wst.jsdt.internal.corext.refactoring.util refactoring utilities
org.eclipse.wst.jsdt.internal.corext.template.java support for templates
org.eclipse.wst.jsdt.internal.corext.util
org.eclipse.wst.jsdt.internal.ui
org.eclipse.wst.jsdt.internal.ui.actions implementation of actions
org.eclipse.wst.jsdt.internal.ui.browsing currently unused - support for browse perspective
org.eclipse.wst.jsdt.internal.ui.callhierarchy ui for call hierarchy
org.eclipse.wst.jsdt.internal.ui.commands
org.eclipse.wst.jsdt.internal.ui.compare compare ui
org.eclipse.wst.jsdt.internal.ui.dialogs various diaglogs
org.eclipse.wst.jsdt.internal.ui.dnd drag/drop support
org.eclipse.wst.jsdt.internal.ui.filters implementation of view filters
org.eclipse.wst.jsdt.internal.ui.fix automatic cleanup functions
org.eclipse.wst.jsdt.internal.ui.infoviews various views
org.eclipse.wst.jsdt.internal.ui.javadocexport export of js doc
org.eclipse.wst.jsdt.internal.ui.javaeditor javascirpt editor implementation
org.eclipse.wst.jsdt.internal.ui.javaeditor.saveparticipant
org.eclipse.wst.jsdt.internal.ui.javaeditor.selectionactions change selection actions
org.eclipse.wst.jsdt.internal.ui.model
org.eclipse.wst.jsdt.internal.ui.navigator implementation of navigator
org.eclipse.wst.jsdt.internal.ui.packageview implementation of script explorer
org.eclipse.wst.jsdt.internal.ui.preferences preferences ui
org.eclipse.wst.jsdt.internal.ui.preferences.cleanup ui for cleanup preferences
org.eclipse.wst.jsdt.internal.ui.preferences.formatter ui for formatter preferences
org.eclipse.wst.jsdt.internal.ui.refactoring ui for refactoring preferences
org.eclipse.wst.jsdt.internal.ui.refactoring.actions actions for refactoring
org.eclipse.wst.jsdt.internal.ui.refactoring.binary
org.eclipse.wst.jsdt.internal.ui.refactoring.code
org.eclipse.wst.jsdt.internal.ui.refactoring.contentassist
org.eclipse.wst.jsdt.internal.ui.refactoring.nls current unused
org.eclipse.wst.jsdt.internal.ui.refactoring.nls.search
org.eclipse.wst.jsdt.internal.ui.refactoring.reorg move/copy/delete
org.eclipse.wst.jsdt.internal.ui.refactoring.sef
org.eclipse.wst.jsdt.internal.ui.search search ui
org.eclipse.wst.jsdt.internal.ui.text javascript source editing utilites
org.eclipse.wst.jsdt.internal.ui.text.comment comment editing
org.eclipse.wst.jsdt.internal.ui.text.correction quick fix implementation
org.eclipse.wst.jsdt.internal.ui.text.folding folding implementation
org.eclipse.wst.jsdt.internal.ui.text.html editing of html inside jsdoc
org.eclipse.wst.jsdt.internal.ui.text.java content assist implementation
org.eclipse.wst.jsdt.internal.ui.text.java.hover hover help
org.eclipse.wst.jsdt.internal.ui.text.javadoc jsdoc editing
org.eclipse.wst.jsdt.internal.ui.text.spelling spell checking
org.eclipse.wst.jsdt.internal.ui.text.spelling.engine
org.eclipse.wst.jsdt.internal.ui.text.template.contentassist content assist templates
org.eclipse.wst.jsdt.internal.ui.text.template.preferences template editing
org.eclipse.wst.jsdt.internal.ui.typehierarchy type hierarchy ui
org.eclipse.wst.jsdt.internal.ui.util utilities
org.eclipse.wst.jsdt.internal.ui.viewsupport view utilities
org.eclipse.wst.jsdt.internal.ui.wizards wizards
org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths include path editing
org.eclipse.wst.jsdt.internal.ui.wizards.buildpaths.newsourcepage
org.eclipse.wst.jsdt.internal.ui.wizards.dialogfields
org.eclipse.wst.jsdt.internal.ui.workingsets
org.eclipse.wst.jsdt.libraries
org.eclipse.wst.jsdt.ui
org.eclipse.wst.jsdt.ui.actions
org.eclipse.wst.jsdt.ui.dialogs
org.eclipse.wst.jsdt.ui.project
org.eclipse.wst.jsdt.ui.refactoring
org.eclipse.wst.jsdt.ui.search
org.eclipse.wst.jsdt.ui.text
org.eclipse.wst.jsdt.ui.text.folding
org.eclipse.wst.jsdt.ui.text.java
org.eclipse.wst.jsdt.ui.text.java.hover
org.eclipse.wst.jsdt.ui.wizards

Generating the parser

Follow the instructions at http://www.eclipse.org/jdt/core/howto/generate%20parser/generateParser.html for generating the parser. The parser grammer file is located in cvs at sourceediting/plugins/org.eclipse.wst.jsdt.core/grammer/js.g

JUnit Tests

Debugging JSDT

Copyright © Eclipse Foundation, Inc. All Rights Reserved.