JavaScript Comment Snippet (Visual Studio Code)
Add ESDoc/JSDoc general comments in TypeScript and JavaScript files.
@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