blob: f67f29a54d3e1498704815ae5929e8d03e2c23ea [file] [log] [blame]
//////////////////////////////////////////
* Copyright (c) 2016 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Wayne Beaton (Eclipse Foundation)- initial API and implementation
//////////////////////////////////////////
[[js]]
== JavaScript and JSON
=== JavaScript Development
==== New EcmaScript 2015 Parser
Significant new work has been invested in the JavaScript development tools,
starting with a new parser with EcmaScript 2015 (ES6) support. With this,
the Eclipse IDE recognizes and support ES6 language constructs and provides
better validation accuracy compared to the earlier parser.
==== Libraries and Tools
Both Bower and npm are supported with creation wizards and launch shortcuts
for executing update and install commands. Grunt and gulp build systems are
accessible from within the _Project Explorer_ view and can be executed via
launch shortcuts.
`Node.js` runtimes are now directly supported (`Eclipse Preferences > JavaScript > Runtimes`)
including a new launch configuration type can be used to run and debug
`Node.js` applications. `Node.js` applications can be debugged directly
from the editor via the Chromium V8 debugger, with full support for breakpoints
and inspecting JavaScript variable values in the _Variables_ view (and when
you hover over an in-scope variable).
image::images/v8_debugger.png[]
=== JSON Development
==== JSON Editor
The new `JSON` editor provides support to edit some well-known `JSON` file
types including package.json, bower.json, .bowerrc, and .jshintrc. This support
includes the following features:
* Syntax Coloring which can be customized with preferences;
* An Outline Tree view;
* Text hover on JSON Objects/Array keys and values;
* Text folding on JSON Objects and Arrays; and
* Editor extensions for custom hyperlinks, json schema validation, and hover help
image::images/json_editor.png[]