This project tries to move to Eclipse WTP. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=471820
Goal of Eclipse WTP JSON is to create an advanced JSON Editor based on WTP, which is extensible and contribute if WTP Team are interested. WTP JSON Editor will provide extension points to customize the editor with custom, completion, validation, hyperlink and text hover to provide same features than Working with composer.json in PhpStorm for instance.
Those extension can be usefull to provide custom editor for bower.json
, .jshintrc
, etc.
Eclipse WTP JSON provides a JSON Editor based on Eclipse WTP (SSE):
Today this project is a POC, but her goal is to provide a WTP JSON Editor with the following commons features :
- Syntax Coloring which can be customized with preferences.
- An Outline Tree view.
- JSON validation based on WTP Validator : TODO!
- Text formatting : TODO!
- Text hover on JSON Objects/Array keys and values.
- Text folding on JSON Objects and Arrays.
And provides advanced features like :
- Extends the editor with custom completion: TODO! (completion which follows a JSON Schema, whith files for bower.json, etc)
- Extends the editor with custom hyperlink (hyperlink to open a file from a JSON string value).
- Extends the editor with custom validation (validate the existing of declared file from a JSON string value).
- Extends the editor with custom hover (text hover displays information about the JSON string value which decalred a file (file path, name, etc)).
See tern.java issue 253.
There exist several JSON Editors :
- JSDT has some limited support
- JSON Editor Plugin
- Json Tools (see sources at https://bitbucket.org/denmiroch/jsontools/src/)
- jsonclipse https://github.com/skoptelov/jsonclipse Xtext-based
- jbosstools-jsoneditor https://github.com/xcoulon/jbosstools-jsoneditor Xtext-based
But there are some limitations :
- not possible to update the JSON Editor with an JSON model kind like WTP IDOMModel and ICSSModel.
- not extensible to extends completion and validation
Eclipse WTP Web JSON is developed/tested with Eclipse 4.4 Luna. It is advised to use Eclipse 4.4 Luna (even if it could work with older version of Eclipse).
To install Eclipse WTP JSON, please read Installation - Update Site section.
Eclipse WTP Web Resourcese is build with this cloudbees job.
WTP JSON Editor It follows the same architecture than XML, CSS, DTD, WTP Editors (org.eclipse.wst.sse.ui.StructuredTextEditor)
- JSON Tokenizer uses JFlex lexer based on JSONTokenizer.jflex. You can find test at JSONTokenizerTest.java