-
VSCode React styled-components 스니펫프론트엔드 2021. 12. 29. 14:26
스니펫은 "코드 조각"이라는 뜻으로,
자주 사용되는 코드 형식을 미리 만들어두고 간편하게 불러와 사용할 수 있다.지금 진행 중인 리액트 프로젝트에서는 각 컴포넌트 별로 .jsx 파일을 생성하고
동일한 이름으로 .styles.jsx 파일을 생성한 다음
.styles.jsx에 스타일드 컴포넌트를 import해 스타일을 정의하는 식으로 구조를 작성하고 있다.
/Testimonial Testimonial.jsx Testimonial.styles.jsx
내가 사용하는 기본적인 .styles.jsx 파일 형식은 다음과 같다.
Testimonial.styles.jsx
import styled from "styled-components"; const TestimonialStyled = styled.div``; export default TestimonialStyled;
처음엔 그냥 VSCode 자동완성을 이용해서 일일히 손으로 치다가
컴포넌트 갯수가 많아지니까 안되겠어서
.styles.jsx 파일에서 사용할 커스텀 코드 스니펫을 만들었다.
VSCode 커스텀 코드 스니펫을 만드는 방법 :
1. 상단바에서 File > Preferences > User Snippets 클릭
2. 어떤 언어의 스니펫을 만들 것인지 선택 - jsx(React)는 javscriptreact를 선택한다.
3. 그러면 %userprofile%\AppData\Roaming\Code\User\snippets\javscriptreact.json 파일이 생성된다.
생성된 파일 안에는 이렇게 설명과 예제가 주석처리된 상태로 기본적으로 제공된다.
{ // Place your snippets for javascriptreact here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected. // Example: // "Print to console": { // "prefix": "log", // "body": [ // "console.log('$1');", // "$2" // ], // "description": "Log output to console" // } }
4. 예제를 참고해서 원하는 대로 스니펫을 작성하면 된다.
- prefix : 스니펫을 불러올 키워드. jsx 파일에서 "rdst"를 입력하면 스니펫을 불러올 수 있도록 설정했다.
- body : 스니펫 내용. 줄바꿈을 기준으로 배열로 나눠서 작성해야 한다. 한 줄을 하나의 문자열로 감싼다.
- $0, $1 등을 이용해 커서 위치와 순서를 정할 수 있다. 탭을 이용해 정해둔 커서 위치로 순서대로 이동할 수 있다.
{ // Place your snippets for javascriptreact here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected. // Example: // "Print to console": { // "prefix": "log", // "body": \[ // "console.log('$1');", // "$2" // \], // "description": "Log output to console" // } "create styles.jsx": { "prefix": "rdst", "body": \[ "import styled from \\"styled-components\\";", "", "const Name$1Styled = styled.div\`\`;", "", "export default Name$0Styled;" \] } }
이제 .jsx 파일에서 "rdst"를 입력하면 작성한 스니펫을 불러올 수 있다.
'프론트엔드' 카테고리의 다른 글
[React] 이메일 전송 폼 만들기 - EmailJS (0) 2022.01.02 [CSS] 줄바꿈 기준 word-break 속성 (normal, keep-all, break-all) (0) 2022.01.01 [React] create-react-app (CRA) 에러 해결 : no longer support global installation of Create React App. (0) 2021.12.27 JavaScript 30 Challenge - 자바스크립트 프로젝트 만들기 (0) 2020.05.01 자바스크립트 객체 - Do It 자바스크립트 기본편 (0) 2020.01.04