thumbnail

코드 스니펫을 공유합니다

2021년 03월 13일

VSCode에서 제가 사용하는 코드 스니펫을 공유해 볼까 합니다. 이전 블로그에서도 다룬 적이 있습니다.

만드는 법

make

VSCode - Code - 기본 설정 - 사용자 코드 조각

Prettier

저장 시 자동으로 포맷팅을 해주는 유용한 도구입니다.

{
  "singleQuote": true,
  "semi": false,
  "useTabs": false,
  "tabWidth": 2,
  "trailingComma": "none",
  "printWidth": 90
}

Typescript JSX

// 콘솔로그
"console.log": {
	"prefix": "clg",
	"body": [
		"console.log('$1', $1)"
	],
	"description": "console.log"
}
// 기본 컴포넌트 생성
"react tsx": {
	"prefix": "tsx",
	"body": [
		"import React, { FunctionComponent } from 'react'",
		"",
		"export interface Props {",
		"",
		"}",
		"interface State {}",
		"",
		"const $1: FunctionComponent<Props> = () => {",
		"  return <>$1</>",
		"} ",
		"",
		"export default $1"
	],
	"description": "react tsx"
}
// 리액트네이티브 컴포넌트 생성
"typescript native": {
	"prefix": "tsxnative",
	"body": [
		"import * as React from 'react'",
		"import { View, Text } from 'react-native'",
		"import styled from '@emotion/native'",
		"",
		"export interface Props {",
		"  $2",
		"}",
		"",
		"const $1 = ({}: Props) => {",
		"  return (",
		"    <View>",
		"      <Text>$1</Text>",
		"    </View>",
		"  )",
		"}",
		"",
		"export default $1",
		""
	],
	"description": "typescript native"
}

Typescript TypeORM

// Entity 생성
"TypeORM Entity": {
	"prefix": "entity",
	"body": [
		"import { Entity, PrimaryGeneratedColumn, BaseEntity } from 'typeorm'",
		"",
		"@Entity({ name: '$2' })",
		"export default class $1 extends BaseEntity {",
		"  @PrimaryGeneratedColumn()",
		"  id: number",
		"}",
		""
	],
	"description": "TypeORM Entity"
}
// Subscriber 생성
"TypeORM subscriber": {
	"prefix": "subscriber",
	"body": [
		"import { EventSubscriber, EntitySubscriberInterface } from 'typeorm'",
		"",
		"@EventSubscriber()",
		"export class $1 implements EntitySubscriberInterface<any> {",
		"    $2",
		"}"
	],
	"description": "TypeORM subscriber"
}
// Factory 생성
"TypeORM factory": {
	"prefix": "factory",
	"body": [
		"import { define } from 'typeorm-seeding'",
		"import * as Faker from 'faker/locale/ko'",
		"import $1 from 'entities/$1'",
		"",
		"define($1, (faker: typeof Faker) => {",
		"    $2",
		"})",
		""
	],
	"description": "TypeORM factory"
}
// Seeder 생성
"TypeORM seeder": {
	"prefix": "seeder",
	"body": [
		"import { Seeder, Factory } from 'typeorm-seeding'",
		"import { Connection } from 'typeorm'",
		"",
		"export default class $1 implements Seeder {",
		"  async run(factory: Factory, connection: Connection): Promise<any> {",
		"    $2",
		"  }",
		"}",
		""
	],
	"description": "TypeORM seeder"
}
// Controller 생성
"TypeORM Controller": {
	"prefix": "controller",
	"body": [
		"import { JsonController, Get } from 'routing-controllers'",
		"",
		"@JsonController($2)",
		"export default class $1 {",
		"",
		"  @Get()",
		"  getAll() {",
		"    return '$2'",
		"  }",
		"}",
		""
	],
	"description": "TypeORM Controller"
}

제 포스팅이 도움이 되셨다면, 아래 버튼을 눌러 커피 한 잔을 후원해주세요! 더 좋은 글을 발행하는 데 큰 도움이 됩니다.

Buy Me a Coffee at ko-fi.com

개발 블로그

김동욱

wcgo2ling@gmail.com

© 2021 kidow. All right reserved.