# Features

JSEclipse is a plugin for the Eclipse Integrated Development Environment that adds the following features:

1. Code completion for JavaScript function and classes. When writing code, syntax for class methods, functions and variable names are suggested either automatically, or by pressing the CTRL-SPACE keys.

2. Code completion for JavaDoc. JavaDoc allows creating Application Programming Interface documentation easy, by using a set of tags in comments. JSEclipse provides code completion for the standard set of tags supported by JavaDoc.

3. Code completion for HTML id's when calling the getElmentById method.

4. Code completion from user defined XML definition files.

5. Code completion from words in the currently open file.

6. Files in the current project are read and used to provide code completion options.

7. Function and class names from the JavaScript projects are displayed in the Outline panel for the currently open file.

8. Open declaration - when using a function in a different file you can open its original file by pressing F3.

9. Occurrence markers - when positioning the mouse cursor over a variable, all of its occurrences will be highlighted.

10. Error reporting - as you type, if an error exists in the current function, it will be displayed with error message and line number in the Problems panel.

11. Code wrap - with the Word wrap option enabled, code is wrapped to the current editor window. This makes long code lines easier to read and debug.

12. Code folding - when you have a file with tons of long functions, it might get difficult to sort them out. By clicking the - / + buttons in front of the function name you can collapse or expand the entire function body. Also, hovering the mouse over the + button, when code is collapsed will display the function code as a tooltip.

13. Automatic closing for brackets, blocks, single and double quotes - just type the opening brace and JSEclipse will match it, with the proper indentation as well.

14. Reference library for the JavaScript language.

15. Extendable code completion through user defined libraries. User libraries are automatically copied to the right location.

16. Syntax highlight for JavaScript with user definable colors.

17. When editing HTML files that have embedded JavaScript code, you have the option of loading the code in a separate file in JSEclipse. All changes made there will also be applied to the original HTML file.