When writing Servoy Developer IDE
The Script Editor in the Servoy Developer IDE supports annotating JavaScript code using JSDoc. Documenting the code is a good practise, as it makes it easier to understand the code after a while or if another programmer needs to have a look at it.
Within Servoy, there is
The JSDoc syntax supported by the Servoy Developer IDE is derived from the JSDoc Toolkit and Google Closure Compiler's support for JavaScript annotation, plus some custom Servoy extensions.
The JSDoc syntax consists of a set of JSDoc tags. Some of these tags require a Type Expression as one of the parameters.
JSDoc:
/**
*
*
*/
Auto generated tempaltes
Control-Shift-J
Code Completion
Tag |
Syntax & Examples |
Comments |
---|---|---|
@AllowToRunInFind |
@AllowToRunInFind |
Custom Servoy JSDoc tag to annotate a function that it can be run if the Form on which the function is ran is in FindMode |
@author |
@author {userName} |
|
@constructor |
@constructor |
|
@deprecated |
@deprecated |
|
@example |
@example |
|
@param |
@param {Type} name parameterDescription |
|
@private |
@private |
Annotates a function as accessible only from within the scope in which it is declared |
@protected |
@protected |
Annotates a function as accessible from within the scope in which it is declared and all scopes that extend this scope |
@return |
@return {Type} |
|
@returns |
@returns {Type} |
alias for @return |
@see |
@see seeDescription |
|
@since |
@since versionDescription |
|
@SuppressWarnings |
@SuppressWarnings (warning) |
Custom Servoy JSDoc tag to suppress builder markers of a certain type within a function |
@throws |
@throws {Type} |
|
@type |
@type {Type} |
|
@version |
@version versionDescription |
|
Type Expressions are used to describe the type and/or structure of data...
Expression name |
Syntax example |
Comments |
|
---|---|---|---|
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8ab745e6-1414-4201-83da-1822e52a57ce"><ac:plain-text-body><![CDATA[ |
Array Type |
String[] |
|
Object Type |
Object<String> |
|
|
Object Type with optional properties |
{sDocID:String, sTemplateID:String}{sDocID:String, sTemplateID:String=} |
|
|
JSFoundSet type |
JSFoundset<datasource> |
|
|
JSRecord type |
JSRecord<datasource> |
|
|
JSDataSet type |
JSDataSet<{name:String, age:Number}> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Adding whatever tag you like
Code completion
JSDoc Templates
Tip: Check out the JSDoc plugin for Servoy Developer on ServoyForge
Old 5.x style of annotating:
JSRecord:servername.tablename
JSFoundset :servername.tablename
Form:formname