Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
JSDT/Development
Contents
Developing JSDT
JSDT Source
As of WTP 3.0, the source for JSDT is in the Web Tools Platform project (repository path /cvsroot/webtools).
These plug-ins have no dependencies other than the Eclipse base (they do not depend on anything else in WTP). Using these plug-ins, a standalone JavaScript Project can be created and used:
- org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.core
- org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.manipulation
- org.eclipse.jsdt/plugins/org.eclipse.wst.jsdt.ui
The feature project for these is:
- org.eclipse.jsdt/features/org.eclipse.wst.jsdt.feature
The following plug-in projects provide JSDT integration with WTP's HTML and JSP editors:
- sourceediting/plugins/org.eclipse.wst.jsdt.web.core
- sourceediting/plugins/org.eclipse.wst.jsdt.web.ui
- sourceediting/plugins/org.eclipse.wst.jsdt.web.support.jsp - contains JSP-specific functionality
- sourceediting/plugins/org.eclipse.wst.jsdt.support.firefox - contains bindings for Mozilla FireFox, current as of FF 2.0.x
- sourceediting/plugins/org.eclipse.wst.jsdt.support.ie - contains bindings for Microsoft Internet explorer
The feature project for these is:
- sourceediting/features/org.eclipse.wst.jsdt.web.feature
The following are the JUnits test plug-ins for JSDT:
- org.eclipse.jsdt/tests/org.eclipse.wst.jsdt.core.tests.compiler - (test suite is org.eclipse.wst.jsdt.core.tests.compiler.JSDTTestAll)
- org.eclipse.jsdt/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:
- sourceediting/tests/org.eclipse.wst.jsdt.web.core.tests - (test suite is org.eclipse.wst.jsdt.web.core.tests.translation.AllWebCoreTests)
- sourceediting/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:
- org.eclipse.jsdt/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.
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
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