🌵

Javascript(ECMAScript) Snippets for VS Code

03 Jun 2016 - by @黄野

1. Javascript(ES6) Code Snippets

1.1. Installation

Launch VS Code Quick Open (⌘+P), paste the following command, and type enter.

> ext install JavaScriptSnippets

1.2. Snippets

Below is a list of all available snippets and the triggers of each one. The → means the TAB key.


Import and export


imp→: import

// Imports entire module statement in ES6 syntax.
import module from 'module';

imd→: importDestructing

// Imports only a portion of the module in ES6 syntax.
import {  } from 'module';

ime→: importEverything

// Imports everything as alias from the module in ES6 syntax.
import * as alias from 'module';

ima→: importAs

// Imports a specific portion of the module by assigning a local alias in ES6 syntax.
import {originalName as alias } from 'module';

enf→: exportNamedFunction

// Export named function in ES6 syntax.
export const functionName = (params) =>  {};

edf→: exportDefaultFunction

// Export default function in ES6 syntax.
export default (params) =>  {};

ecl→: exportClass

// Export default class in ES6 syntax.
export default class className {};

ece→: exportClassExtends

// Export default class which extends a base one in ES6 syntax.
export default class className extends baseclassName {};

Class helpers


con→: constructor

// Add default constructor in a class in ES6 syntax.
constructor(params) {}

met→: method

// Creates a mehtod inside a class in ES6 syntax.
methodName(params) {}

pge→: propertyGet

// Creates a getter property inside a class in ES6 syntax.
get propertyName() {
    return this.;
}

pse→: propertySet

// Creates a setter property inside a class in ES6 syntax.
set propertyName(value) {}

Various methods


fre→: forEach

// Creates a forEach statement in ES6 syntax.
array.forEach(currentItem => {});

fof→: forOf

// Iterating over property names of iterable objects.
for(let item of object) {}

fin→: forIn

// Iterating over property values of iterable objects.
for(let item in object) {}

afn→: anonymousFunction

// Creates an anonymous function in ES6 syntax.
(params) => {}

nfn→: namedFunction

// Creates a named function in ES6 syntax.
const name = (params) => {}

dob→: destructingObject

// Creates and assigns a local variable using object destructing.
const {propertyName} = objectToDestruct;

dar→: destructingArray

// Creates and assigns a local variable using array destructing.
const [propertyName] = arrayToDestruct;

sti→: setInterval

// Executes the given function at specified intervals in ES6 syntax.
setInterval(() => {}, intervalInms);

sto→: setTimeOut

// Executes the given function after the specified delay in ES6 syntax.
setTimeout(() => {}, delayInms);

Console methods


cas→: consoleAssert

// If the specified expression is false, 
// the message is written to the console along with a stack trace.
console.assert(expression, object);

ccl→: consoleClear

// Clears the console.
console.clear();

cco→: consoleCount

// Writes the the number of times that
// count() has been invoked at the same line and with the same label.
console.count(label);

cdi→: consoleDir

// Prints a JavaScript representation of the specified object.
console.dir(object);

cer→: consoleError

// Displays a message in the console and also includes a stack trace 
// from where the method was called.
console.error(object);

cgr→: consoleGroup

// Groups and indents all following output by an additional level, 
// until console.groupEnd() is called.
console.group("label");

cge→: consoleGroupEnd

// Closes out the corresponding console.group().
console.groupEnd();

clg→: consoleLog

// Displays a message in the console.
console.log(object);

ctr→: consoleTrace

// Prints a stack trace from the point where the method was called.
console.trace(object);

cwa→: consoleWarn

// Displays a message in the console 
// but also displays a yellow warning icon along with the logged message.
console.warn(object);

2. ReactJS(ES6) Code Snippets

2.1. Installation

Launch VS Code Quick Open (⌘+P), paste the following command, and type enter.

> ext install ReactSnippets

2.2. Snippets

ReactJS code snippets

ReactJS code snippets

Below is a list of all available snippets and the triggers of each one. The -> means the TAB key.


Main methods


rcc→: reactClassCompoment

// Creates a React component class with ES6 module system.
import React, {Component} from 'react';

class componentName extends Component {
    render() {
        return ();
    }
}

export default componentName;

rccp→: reactClassCompomentPropTypes

// Creates a React component class with PropTypes and ES6 nodule system.
import React, {Component, PropTypes} from 'react';

class componentName extends Component {
    render() {
        return ();
    }
}

componentName.propTypes = {};

export default componentName;

rcjc→: reactJustClassCompoment

// Creates a React component class with ES6 module system.
class componentName extends Component {
    render() {
        return ();
    }
}

rcfc→: reactClassCompomentWithMethods

// Creates a React component class with PropTypes and all lifecycle methods in ES6 nodule system.
import React, {Component, PropTypes} from 'react';

class componentName extends Component {
    constructor(props) {
        super(props);
    }

    componentWillMount() {}

    componentDidMount() {}

    componentWillReceiveProps(nextProps) {}

    shouldComponentUpdate(nextProps, nextState) {}

    componentWillUpdate(nextProps, nextState) {}

    componentDidUpdate(prevProps, prevState) {}

    componentWillUnmount() {}

    render() {
        return ();
    }
}

componentName.propTypes = {};

export default componentName;

rsc→: reactStateless

// Creates a stateless React component without PropTypes in ES6 nodule system.
import React from 'react';

const componentName = () => {
    return ();
};

export default componentName;

rscp→: reactStatelessProps

// Creates a stateless React component with PropTypes in ES6 nodule system.
import React, {PropTypes} from 'react';

const componentName = props => {
    return ();
};

componentName.propTypes = {};

export default componentName;

con→: classConstructor

// Adds a default construcotr for the class that contains props as arguments.
constructor(params) {}

conc→: classConstructorContext

// Adds a default construcotr for the class that contains props and context as arguments.
constructor(props, context) {
    super(props, context); 
}

cwm→: componentWillMount

// Invoked once, both on the client and server, immediately before the initial rendering occurs. 
componentWillMount() {}

cdm→: componentDidMount

// Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.
componentDidMount() {}

cwr→: componentWillReceiveProps

// Invoked when a component is receiving new props. This method is not called for the initial render.
componentWillReceiveProps(nextProps) {}

scu→: shouldComponentUpdate

// Invoked before rendering when new props or state are being received.
shouldComponentUpdate(nextProps, nextState) {}

cwup→: componentWillUpdate

// Invoked immediately before rendering when new props or state are being received.
componentWillUpdate(nextProps, nextState) {}

cdup→: componentDidUpdate

// Invoked immediately after the component's updates are flushed to the DOM.
componentDidUpdate(prevProps, prevState) {}

cwun→: componentWillUnmount

// Invoked immediately before a component is unmounted from the DOM.
componentWillUnmount() {}

ren→: componentRender

// When called, it should examine this.props and this.state and return a single child element.
render() {
    return ();
}

sst→: componentSetStateObject

// Performs a shallow merge of nextState into current state.
this.setState();

ssf→: componentSetStateFunc

// Performs a shallow merge of nextState into current state.
this.setState((state, props) => { return {  }});

props→: componentProps

// Access component's props.
this.props.

state: componentState

// Access component's state.
this.state.

bnd→: bindThis

// Access component's state.
this. = this..bind(this);

PropTypes methods


pta→: propTypeArray

// Array prop type.
PropTypes.array,

ptar→: propTypeArrayRequired

// Array prop type required.
PropTypes.array.isRequired,

ptb→: propTypeBool

// Bool prop type.
PropTypes.bool,

ptbr→: propTypeBoolRequired

// Bool prop type required.
PropTypes.bool.isRequired,

ptf→: propTypeFunc

// Func prop type.
PropTypes.func,

ptfr→: propTypeFuncRequired

// Func prop type required.
PropTypes.func.isRequired,

ptn→: propTypeNumber

// Number prop type.
PropTypes.number,

ptnr→: propTypeNumberRequired

// Number prop type required.
PropTypes.number.isRequired,

pto→: propTypeObject

// Object prop type.
PropTypes.object,

ptor→: propTypeObjectRequired

// Object prop type required.
PropTypes.object.isRequired,

pts→: propTypeString

// String prop type.
PropTypes.string,

ptsr→: propTypeStringRequired

// String prop type required.
PropTypes.string.isRequired,

ptnd→: propTypeNode

// Anything that can be rendered: numbers, strings, elements or an array.
PropTypes.node,

ptndr→: propTypeNodeRequired

// Anything that can be rendered: numbers, strings, elements or an array required.
PropTypes.node.isRequired,

ptel→: propTypeElement

// React element prop type.
PropTypes.element,

ptelr→: propTypeElementRequired

// React element prop type required.
PropTypes.element.isRequired,

pti→: propTypeInstanceOf

// Is an instance of a class prop type.
PropTypes.instanceOf(),

ptir→: propTypeInstanceOfRequired

// Is an instance of a class prop type required.
PropTypes.instanceOf().isRequired,

pte→: propTypeEnum

// Prop type limited to specific values by treating it as an enum.
PropTypes.oneOf(['']),

pter→: propTypeEnumRequired

// Prop type limited to specific values by treating it as an enum required.
PropTypes.oneOf(['']).isRequired,

ptet→: propTypeOneOfType

// An object that could be one of many type.
PropTypes.oneOfType([]),

ptao→: propTypeArrayOf

// An array of a certain type.
PropTypes.arrayOf(),

ptaor→: propTypeArrayOfRequired

// An array of a certain type required.
PropTypes.arrayOf().isRequired,

ptoo→: propTypeObjectOf

// An object with property values of a certain type.
PropTypes.objectOf(),

ptoor→: propTypeObjectOfRequired

// An object with property values of a certain type required.
PropTypes.objectOf().isRequired,

ptsh→: propTypeShape

// An object taking on a particular shape.
PropTypes.shape({}),

ptshr→: propTypeShapeRequired

// An object taking on a particular shape required.
PropTypes.shape({}).isRequired,

3. Angular 2(TypeScript) Code Snippets

3.1. Installation

Launch VS Code Quick Open (⌘+P), paste the following command, and type enter.

> ext install Angular2

Angular code snippets

3.2. Snippets

Angular code snippets


TypeScript Snippets


ng2-component-root→: Angular 2 root App component

import { Component } from '@angular/core';
import { HTTP_PROVIDERS } from '@angular/http';
import { Routes, ROUTER_DIRECTIVES, ROUTER_PROVIDERS } from '@angular/router';
import 'rxjs/Rx'; // load the full rxjs

@Component({
    moduleId: module.id,
    selector: 'selector',
    templateUrl: 'name.component.html',
    directives: [ROUTER_DIRECTIVES],
    providers: [
      HTTP_PROVIDERS,
      ROUTER_PROVIDERS
    ]
})
@Routes([
    
])
export class AppComponent {}

ng2-bootstrap→: Angular 2 bootstraping, for main.ts

import { enableProdMode } from '@angular/core';
import { bootstrap } from '@angular/platform-browser-dynamic';

import { AppComponent } from './name.component';

// enableProdMode();

bootstrap(AppComponent)
    .then(success => console.log(`Bootstrap success`))
    .catch(error => console.log(error));

ng2-component→: Angular 2 component

import { Component, OnInit } from '@angular/core';

@Component({
    moduleId: module.id,
    selector: 'selector',
    templateUrl: 'name.component.html'
})
export class ComponentNameComponent implements OnInit {
    constructor() { }

    ngOnInit() { }
}

ng2-pipe→: Angular 2 pipe

import { Pipe, PipeTransform } from '@angular/core';

@Pipe({
    name: 'name'
})

export class PipeNamePipe implements PipeTransform {
    transform(value: any, args: any[]): any {
        
    }
}

ng2-route-path→: Angular 2 routing path

{ path: '/path', component: Component }

ng2-service→: Angular 2 service

import { Injectable } from '@angular/core';

@Injectable()
export class ServiceNameService {

    constructor() { }

}

ng2-subscribe→: Angular 2 observable subscription

this.service.function
    .subscribe(arg => this.property = arg);

HTML Snippets


ng2-ngClass→: ngClass

[ngClass]="{cssClass: expression}"

ng2-ngFor→: ngFor

*ngFor="let item of list"

ng2-ngIf→: ngIf

*ngIf="Property" 

ng2-ngModel→: ngModel

[(ngModel)]="binding"

ng2-routerLink→: routerLink

[routerLink]="['routeName']"

ng2-ngStyle→: ngStyle

[ngStyle]="{style: expression}"

ng2-ngSwitch→: ngSwitch

<div [ngSwitch]="conditionExpression">
    <div *ngSwitchWhen="expression">output</div>
    <div *ngSwitchDefault>output2</div>
</div>
Back to top Go to bottom