/vscode-javascript-comment

JavaScript Comment Snippet

Primary LanguageJavaScriptMIT LicenseMIT

JavaScript Comment Snippet (Visual Studio Code)

Add ESDoc/JSDoc general comments in TypeScript and JavaScript files.

JavaScript Comment Snippet

  • @param
  • @type
  • @abstract
  • @access
  • @class
  • @constructor
  • @deprecated
  • @emits
  • @example
  • @experimental
  • @extends
  • @external
  • @ignore
  • @implements
  • @interface
  • @listens
  • @override
  • @return
  • @throws
  • @typedef
  • @return
  • @note

Type Syntax

type syntax
Simple @param {string} param - description
Array @param {string[]} param - description
Nullable @param {?Object} param - description
Not Nullable @param {!Object} param - description
Union `@param {number
Nullable and Union `@param {?(number
Spread @param {...number} param - description
Optional @param {number} [param] - description
Default @param {number} [param=10] - description
Function @param {function(foo: number, bar: string): boolean} param - description
Generics @param {Map<number, string>} param - description
Record @param {{foo: ?number, bar: string}} param - description

Snippets

For Member And Variable

doc.type or @type

/** @type {type} - description*/

doc.type.object or @type.object

/**
 * @type {Object} obj
 * @property {type} obj.property - description
 */

For Method And Function

doc.reutrn or @reutrn

@return {type} - description

doc.requires or @requires

@requires {module} - description

doc.param or @param

/**
 * @param {type} property - description.
 */

doc.param.inner or @param.inner

@param {type} property - description.

doc.param.object or @param.object

/**
 * @param {Object} param - description.
 * @param {type} param.property - property description.
 */

doc.param.object.inner or @param.object.inner

@param {Object} param - description.
* @param {type} param.property - property description.

doc.abstract or @abstract

/**
 * this method must be overridden by sub class.
 * @abstract
 */

doc.override or @override

/**
 * @override
 */

doc.emits or @emits

/**
 * @emits {MyEvent} emit event when ...
 */

doc.listens or @listens

/**
 * @listens {MyEvent} listen event because ...
 */

doc.throws or @throws

/**
 * @throws {MyError} throw error when ...
 */

For Class

doc.class or @class

/**
 * @class
 * description.
 */

doc.extends or @extends

/**
 * @extends {SuperClass}
 */

doc.interface or @interface

/**
 * @interface
 */

doc.implements or @implements

/**
 * @implements {MyInterface}
 */

doc.constructor or @constructor

/** @constructor */

For Common

bc or ///, Block Comments

/**
 *
 */

doc.access or @access

/**
 * @access public|protected|package|private
 */

doc.deprecated or @deprecated

/**
 * @deprecated description
 */

doc.experimental or @experimental

/**
 * @experimental description
 */

doc.example or @example

/**
 * @example
 *
 */

doc.ignore or @ignore

/**
 * @ignore
 */

doc.license or @license

/**
 * @license
 * Copyright NAME. All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file in the root directory of this source tree.
 */

For Virtual

doc.external or @external

/**
 * @external {identifier} URL
 */

doc.typedef or @typedef

/**
 * @typedef {type} type
 */

doc.typedef.object or @typedef.object

/**
 * @typedef {Object} name
 * @property {type} description.
 */

Resources

License

MIT License