| ////////////////////////////////////////// |
| * 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[] |