Перейти к основному содержимому

IntelliJ IDEA Live Temlates

Что такое Живые Шаблоны? https://habr.com/ru/post/414813/

React Function Component with makeStyles

ПараметрЗначение
Abbreviationcmp
DescriptionNew React Function Component with makeStyles
FolderReact
Applicable contextsEverywhere/TypeScript/Statement

Edit variables:

ПеременнаяЗначение
NAMEcapitalize(camelCase(fileNameWithoutExtension()))
STYLENAMEcamelCase(fileNameWithoutExtension())
import React, {FunctionComponent} from 'react';
import cn from 'classnames';
import use$NAME$Styles from './styles/use$NAME$Styles';

interface I$NAME$Props {
className?: string;$END$
}

/**
* $NAME$.
*/
const $NAME$: FunctionComponent<I$NAME$Props> = (
({children, className}) => {
const styles = use$NAME$Styles();
return (
<div className={cn(styles.$STYLENAME$, className)}>
{children}
</div>
)
}
);

export default $NAME$;

Style-file with makeStyles

ПараметрЗначение
Abbreviationcmp-stylefile
DescriptionStyle-file with makeStyles
FolderReact
Applicable contextsEverywhere/TypeScript/Statement

Edit variables:

ПеременнаяЗначение
FNNAMEcapitalize(camelCase(fileNameWithoutExtension()))
STYLENAMEcamelCase(fileNameWithoutExtension())
import {makeStyles} from '@material-ui/styles';
import ITableTheme from './ITableTheme';

const $FNNAME$ = (
makeStyles<ITableTheme>((
theme => ({
$STYLENAME$: {
display: 'flex',
flex: '1 1 0'$END$
}
})
), {
name: '$STYLENAME$Styles'
})
);

export default $FNNAME$;

Index-file for New React Component

Abbreviation: index
Description: Index-file for New React Component
Folder: React
Applicable contexts: Everywhere/TypeScript/Statement

Edit variables:
NAME capitalize(camelCase(fileNameWithoutExtension()))

export {default} from './$NAME$';

New React Component

Abbreviation: cmp-sass
Description: New React Component
Folder: React
Applicable contexts: Everywhere/TypeScript/Statement

Edit variables:
NAME capitalize(camelCase(fileNameWithoutExtension()))

import React, {Component, ReactNode} from 'react';
import styles from './$NAME$.module.scss';

interface I$NAME$Props {
$END$
}

/**
* $NAME$.
*/
export default class $NAME$ extends Component<I$NAME$Props> {
public render(): ReactNode {
return (
<div className={styles.$NAME$}>
$NAME$
</div>
);
}
}

New React Component Styled

Abbreviation: cmp-styled
Description: New React Component
Folder: React
Applicable contexts: Everywhere/TypeScript/Statement

Edit variables:
NAME capitalize(camelCase(fileNameWithoutExtension()))

import React, {Component, ReactNode} from 'react';
import {observer} from 'mobx-react';
import {$NAME$Div} from './$NAME$.style';

interface I$NAME$Props {
$END$
}

/**
* $NAME$.
*/
@observer
export default class $NAME$ extends Component<I$NAME$Props> {
public render(): ReactNode {
return (
<$NAME$Div>
$NAME$
</$NAME$Div>
);
}
}