--- /dev/null
+{
+ "Constructor": {
+ "prefix": "ctor",
+ "body": ["/**", " *", " */", "constructor() {", "\tsuper();", "\t$0", "}"],
+ "description": "Constructor"
+ },
+ "Class Definition": {
+ "prefix": "class",
+ "body": [
+ "class ${1:name} {",
+ "\tconstructor(${2:parameters}) {",
+ "\t\t$0",
+ "\t}",
+ "}"
+ ],
+ "description": "Class Definition"
+ },
+ "Public Method Definition": {
+ "prefix": "public method",
+ "body": ["/**", " * ${1:name}", " */", "public ${1:name}() {", "\t$0", "}"],
+ "description": "Public Method Definition"
+ },
+ "Private Method Definition": {
+ "prefix": "private method",
+ "body": ["private ${1:name}() {", "\t$0", "}"],
+ "description": "Private Method Definition"
+ },
+ "Import external module.": {
+ "prefix": "import statement",
+ "body": ["import { $0 } from \"${1:module}\";"],
+ "description": "Import external module."
+ },
+ "Property getter": {
+ "prefix": "get",
+ "body": [
+ "",
+ "public get ${1:value}() : ${2:string} {",
+ "\t${3:return $0}",
+ "}",
+ ""
+ ],
+ "description": "Property getter"
+ },
+ "Log to the console": {
+ "prefix": "log",
+ "body": ["console.log($1);", "$0"],
+ "description": "Log to the console"
+ },
+ "Log warning to console": {
+ "prefix": "warn",
+ "body": ["console.warn($1);", "$0"],
+ "description": "Log warning to the console"
+ },
+ "Log error to console": {
+ "prefix": "error",
+ "body": ["console.error($1);", "$0"],
+ "description": "Log error to the console"
+ },
+ "Define a full property": {
+ "prefix": "prop",
+ "body": [
+ "",
+ "private _${1:value} : ${2:string};",
+ "public get ${1:value}() : ${2:string} {",
+ "\treturn this._${1:value};",
+ "}",
+ "public set ${1:value}(v : ${2:string}) {",
+ "\tthis._${1:value} = v;",
+ "}",
+ ""
+ ],
+ "description": "Define a full property"
+ },
+ "Triple-slash reference": {
+ "prefix": "ref",
+ "body": ["/// <reference path=\"$1\" />", "$0"],
+ "description": "Triple-slash reference"
+ },
+ "Property setter": {
+ "prefix": "set",
+ "body": [
+ "",
+ "public set ${1:value}(v : ${2:string}) {",
+ "\tthis.$3 = v;",
+ "}",
+ ""
+ ],
+ "description": "Property setter"
+ },
+ "Throw Exception": {
+ "prefix": "throw",
+ "body": ["throw new Error(\"$1\");", "$0"],
+ "description": "Throw Exception"
+ },
+ "For Loop": {
+ "prefix": "for",
+ "body": [
+ "for (let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index}++) {",
+ "\tconst ${3:element} = ${2:array}[${1:index}];",
+ "\t$0",
+ "}"
+ ],
+ "description": "For Loop"
+ },
+ "For-Each Loop using =>": {
+ "prefix": "foreach =>",
+ "body": ["${1:array}.forEach(${2:element} => {", "\t$0", "});"],
+ "description": "For-Each Loop using =>"
+ },
+ "For-In Loop": {
+ "prefix": "forin",
+ "body": [
+ "for (const ${1:key} in ${2:object}) {",
+ "\tif (Object.prototype.hasOwnProperty.call(${2:object}, ${1:key})) {",
+ "\t\tconst ${3:element} = ${2:object}[${1:key}];",
+ "\t\t$0",
+ "\t}",
+ "}"
+ ],
+ "description": "For-In Loop"
+ },
+ "For-Of Loop": {
+ "prefix": "forof",
+ "body": ["for (const ${1:iterator} of ${2:object}) {", "\t$0", "}"],
+ "description": "For-Of Loop"
+ },
+ "For-Await-Of Loop": {
+ "prefix": "forawaitof",
+ "body": ["for await (const ${1:iterator} of ${2:object}) {", "\t$0", "}"],
+ "description": "For-Await-Of Loop"
+ },
+ "Function Statement": {
+ "prefix": "function",
+ "body": ["function ${1:name}(${2:params}:${3:type}) {", "\t$0", "}"],
+ "description": "Function Statement"
+ },
+ "If Statement": {
+ "prefix": "if",
+ "body": ["if (${1:condition}) {", "\t$0", "}"],
+ "description": "If Statement"
+ },
+ "If-Else Statement": {
+ "prefix": "ifelse",
+ "body": ["if (${1:condition}) {", "\t$0", "} else {", "\t", "}"],
+ "description": "If-Else Statement"
+ },
+ "New Statement": {
+ "prefix": "new",
+ "body": ["const ${1:name} = new ${2:type}(${3:arguments});$0"],
+ "description": "New Statement"
+ },
+ "Switch Statement": {
+ "prefix": "switch",
+ "body": [
+ "switch (${1:key}) {",
+ "\tcase ${2:value}:",
+ "\t\t$0",
+ "\t\tbreak;",
+ "",
+ "\tdefault:",
+ "\t\tbreak;",
+ "}"
+ ],
+ "description": "Switch Statement"
+ },
+ "While Statement": {
+ "prefix": "while",
+ "body": ["while (${1:condition}) {", "\t$0", "}"],
+ "description": "While Statement"
+ },
+ "Do-While Statement": {
+ "prefix": "dowhile",
+ "body": ["do {", "\t$0", "} while (${1:condition});"],
+ "description": "Do-While Statement"
+ },
+ "Try-Catch Statement": {
+ "prefix": "trycatch",
+ "body": ["try {", "\t$0", "} catch (${1:error}) {", "\t", "}"],
+ "description": "Try-Catch Statement"
+ },
+ "Set Timeout Function": {
+ "prefix": "settimeout",
+ "body": ["setTimeout(() => {", "\t$0", "}, ${1:timeout});"],
+ "description": "Set Timeout Function"
+ },
+ "Region Start": {
+ "prefix": "#region",
+ "body": ["//#region $0"],
+ "description": "Folding Region Start"
+ },
+ "Region End": {
+ "prefix": "#endregion",
+ "body": ["//#endregion"],
+ "description": "Folding Region End"
+ },
+ "new Promise": {
+ "prefix": "newpromise",
+ "body": ["new Promise<${1:type}>((resolve, reject) => {", "\t$2", "})"],
+ "description": "Create a new Promise"
+ },
+ "Async Function Statement": {
+ "prefix": "async function",
+ "body": ["async function ${1:name}(${2:params}:${3:type}) {", "\t$0", "}"],
+ "description": "Async Function Statement"
+ },
+ "Async Function Expression": {
+ "prefix": "async arrow function",
+ "body": ["async (${1:params}:${2:type}) => {", "\t$0", "}"],
+ "description": "Async Function Expression"
+ }
+}