JavaScript Support Rewrite

This document contains information about rewriting JavaScript editor. The umbrella task for the rewrite is issue #205870.

As of July 10th, the new JavaScript editor is now a part of the main trunk codeline, can be tried out in the daily builds. The code is in two new modules: javascript2.editor and javascript2.kit.

The editor rewrite contains mainly these tasks:

  • Parser integration
  • Coloring lexer
  • Error checking
  • Hints
  • Creating model
  • Folding
  • Navigator
  • Indentation
  • Formatting
  • Marking pairs of chars (), {}, , "", []
  • inserting ), }, ', ", ] after in pressing (, }, ', ",]
  • code completion
  • Support for documentation tools (like jsDoc, DOJO, jQuery)

Next big task is JSON support.

Document about progress of rewriting JS editor and comparing new and old support can be watched here. See also the following blog entries about the new JavaScript editor: first, second and third.

JsDoc Support

"For now we are supporting all JsDoc2 tags" [1]

connected tags

ie used by the language model for code completion and documentation [2]

 * @class
 * @constructor
 * @constructs
 * @deprecated
 * @private
 * @public
 * @static
 * @returns
 * @type
 * @property
 * @param

documentation-only tags

 * @since
 * @author
 * @description
 * @example
 * @fileOverview
 * @throws

parse-only tags

netbeans should correctly parse all other tags, but they're not used, ie neither connected nor used by the documentation. connecting a tag to the language model has an impact on performance, so the developers are evaluating them on a case by case basis. to request support for a tag, enter an issue in the bug tracker

 * @augments - support request
 * @borrows _that_ as _this_
 * @constant
 * @default
 * @event
 * @field
 * @function
 * @ignore
 * @inner
 * @lends - support request
      workaround #1: the lending object can be assigned to the class prototype directly
      workaround #2: the lending object can be initially named as the class
 * {@link ...}
 * @memberOf
 * @name
 * @namespace
 * @requires
 * @see
 * @version


 * @argument - Deprecated synonym for @param
 * @extends - Synonym for @augments
Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo