Getting Started - angelozerr/tern.java GitHub Wiki
Getting Started
This page explains how to install and configure Tern IDE. This Eclipse plugin is based on the powerful JavaScript inference engine tern.js which is written in JavaScript.
You can see the online tern demo which uses tern in Web Browser with CodeMirror.
To use this engine on Java context, tern.java is used. It executes tern.js with node.js. That's why you will see that, you must install node.js server or use an embedded node.js.
tern.js is able to manage any JavaScript framework by developping a tern plugin (see Tern modules to know list of tern plugin). For instance, here a screenshot with a jQuery completion :
If you want to use :
- AngularJS please install AngularJS Eclipse which is based on tern.java.
- Grunt/Gulp please install JavaScript Build Eclipse which is based on tern.java.
Installation
Tern IDE is developped/tested with Eclipse 4.5 (Mars). It is advised to use this Eclipse version (even if Tern IDE could work with older version of Eclipse).
To install Tern IDE, please read Installation - Update Site section.
When you will use Tern IDE update site you will see that:
You must select:
- Tern - Embed Node.js if you have not node.js installed on your computer. Node.js is required to execute tern.js.
- Tern IDE to use tern with Eclipse IDE.
- Tern - Tooling if you want to generate tern plugin, JSON Type Definition or Web Browser editor (CodeMirror, Ace, Orion) with tern. For more information please read Tern Toolings
Tern Configuration
Now you must convert your project to Tern Project :
Preferences Settings
This section explains how to configure tern to use a JavaScript framework.
Global Preferences
This section is about "global preferences" dialog that you open with Window/Preferences.
Node.js
Tern IDE is based on the JavaScript inference engine tern.js which is written in JavaScript. To use it, tern is executed with node.js (Rhino is too slow for that). You must configure node.js. To do that you can :
- use your installed node.js. For that, you must select the "Native node" install type and select the well node file :
when the native node is selected, it searches node binary in default folders installation (ex : "C:\Program Files\nodejs\node.exe" for Windows) and if it doesn't find, it searches in your node in your "PATH" environment.
If you wish to download and install node.js, it's important to restart your computer before using Tern IDE in order to your OS update correctly your "PATH" environment with your installed node.js.
- use an embed node. For that you must install the well embed node.js according your OS :
Project preferences
This section is about "project properties" dialog which is available if you select your project and use "Properties" menu item of the contextual menu (or Alt/Enter).
Tern Modules
Tern module is a Tern Plugin or JSON Type definition.
Here a list of available tern modules :
- AngularJS
- AlloyUI
- Browser
- Bootstrap
- CKEditor
- CordovaJS
- Dojo Toolkit
- ECMAScript
- ExtJS
- Game
- jQuery
- JSDoc Support
- Liferay
- Meteor
- Node.js
- Qooxdoo
- snabbt.js
- RequireJS
- Tabris.js
- three.js
- Titanium
- YUI Library
- Completion
- Linter (Validator)
- Tests
- JavaScript Build
You can select a tern module by clicking on the Tern / Modules item :
Scripts path
When tern is used for completion, validation, hover, hyperlink, it must load before (just the first time) a list of your JavaScript. To do that you must configure your script paths by selecting your js folder which contains your JavaScripts (it's the same thing than for Java build path) :
For more information, please read Tern Script Path
Validator
Tern IDE provides several linter like ESLint, JSHint. Please read Tern Linter section for more information.
Let's go!
At this step we have finished to configure Tern IDE Eclipse, now it's time to check that everything works (tern with node.js is well configured).
JavaScript Editor
Open a JavaScript editor, fill it with :
var arr = ["a", "b"];
arr.
and try to open completion after dot of arr variable. It must show completion items for array :
This feature is managed by tern, if it doesn't work, see Troubleshooting section.
Troubleshooting
If you have checked your configuration and completion doesn't work for HTML and JavaScript editor, it means that there is a problem with tern with node.js. To verify that you can see errors with :
- Error log view.
- Tern console
Error log view
Tern console
You can trace the start of node.js server and the request/response of the tern server by using the Eclipse console.
To do that, you must active the tern console for your project:
If you retry to execute completion for instance to use tern server, you will see the node.js command and the error in the console:
When you will have not problem, you can see the JSON request/response of the tern server when it is use it:
See Tern Console for more information.
If you have again, problem, please create an issue here.