ํ๋ฆฌํฐ์ด ์ค์ ์ ํด ์ค ์ ์๋ค. src๋ publicํด๋๊ฐ ์๋ ๊ณต๊ฐ์ ์ถ๊ฐํ์ฌ
{ "singleQuote":true, "semi": true, "useTabs": false, "tabWidth": 2 }
โ>
- ์ด ํ์ผ์์๋ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ํ ๋ ํญ ๋์ ,
- ๊ณต๋ฐฑ์ ๋ ์นธ ์ฌ์ฉํ๋ค. ํฐ๋ฐ์ดํ ๋์ ์์๋ฐ์ดํ๋ฅผ ์ด๋ค.
- ์ธ๋ฏธ์ฝ๋ก ์ ์ธ์ ๋ ๋ถ์ธ๋ค.
Prettier ์ต์คํ ์ ์ค์ ํ๊ธฐ
์ค์น ํ ์ด๋์ ๋์ ์ธํ
์ ํ ์ ์์ต๋๋ค.
์ค์ ์ฐฝ ๋ค์ด๊ฐ๊ธฐ
ํ์ผ > ๊ธฐ๋ณธ์ค์ > ์ค์
์ ์ ํํ๋ฉด ์ค์ ํ๋ฉด์ด ๋์ต๋๋ค.
์ค์ ํ๊ธฐ์ค์ ์ฐฝ์
์ฌ์ฉ์
์ ๋ฆฌ์คํธ๋ฅผ ์ ํํฉ๋๋ค.
- Prettier-Codeformatter ๋ฅผ ์ ํํฉ๋๋ค.
- Prettier์ ์ค์ ํ ์ ์๋ ์ค์ ์ฐฝ์ด ๋์ต๋๋ค. ์์ ์๋ ์ฝ๋๋ฅผ ํ ์คํธํํ๋ก ์์ ํ๋ ์ค์ ์ฐฝ์ด ๋์์ผ๋ ์ธ์ ๋ถํฐ์ธ๊ฐ ์ค์ ํ๊ธฐ ์ฌ์ด UI์ฐฝ์ ๋ณด์ฌ์ค๋๋ค.
ํ์ง๋ง ์์ ๋ถํฐ ์ฌ์ฉํ๋ ์ฌ๋์ด๋ผ๋ฉด ์ด ์ฐฝ ๋ง๊ณ ์์ ์ค์ ์ฐฝ์ด ๋ ํธํ ์ฌ๋๋ ์์ ๊ฒ์
๋๋ค.
Setting.json์ด๊ธฐ์ฐ์๋จ์ ์๋ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
์ค์ ํ๊ธฐ
- setting.json๋ฌธ์๊ฐ ์ด๋ฆฝ๋๋ค. ์์ ์ ์ธํ ๋ฌธ์์ ๋๋ค.
- ์ค์ ์ฐฝ์์ ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํ๊ฒ ๋๋ค๋ฉดย
setting.json
์ ๊ฐ์ด ์๋์ผ๋ก ๋ณ๊ฒฝ์ด ๋ฉ๋๋ค. ๋ค์๋งํ๋ฉด ์ง์ ์ดยsetting.json
ํ์ผ์ ์ต์ ์ฌํญ์ ์ ์ด๋ ๋ฐ์์ด ๋๋ค๋ ๋ป์ ๋๋ค.
Prettier ์ค์
Prettier์ ์ค์ ์ ์๋์ ์์๋ก ์ ์ฉ์ด ๋ฉ๋๋ค.
settings.jsonย <ย .editorconfigย <ย .prettierrc
- ๋จผ์ ย
settings.json
์ ์ค์ ํ ์ธํ ๊ฐ์ ์ ์ฉํฉ๋๋ค.
- ๋ง์ฝ ํ๋ก์ ํธ์ EditorConfig์ ์ค์ ํ์ผ์ธย
.editorconfig
๊ฐ ์์ผ๋ฉด ์ด ์ค์ ์ด ๋ฎ์ด์๋๋ค.
- ๋ง์ง๋ง์ผ๋ก Prettier์ ๊ณ ์ ํ ์ค์ ํ์ผ์ธย
.prettierrc
๊ฐ ํ๋ก์ ํธ์ ์์ผ๋ฉด ์ด ๊ฐ์ ์ต์ข ์ ์ผ๋ก ์ ์ฉํ๊ฒ ๋ฉ๋๋ค.
VScode์ย settings.json์๋ ๊ธฐ๋ณธ์ค์ ๊ณผ ๋ฌ๋ฆฌ ์ธํ ๊ฐ์ ๋ง๋จธ๋ฆฌ์ย prettier.~~์ฒ๋ผ prettier.๋ฅผ ๋ถํ์ค์ผ ํฉ๋๋ค
prettier.printWidth (default: 80)
ํ์ค ๋ด์์ ์ฝ๋๋ฅผ ๋ง์ถฅ๋๋ค. ํ ์ค์ด ์ด ๊ธ์์๋ฅผ ๋๊ฒ ๋๋ฉด ์ค๋ฐ๊ฟ๋์ด ์ฝ๋๊ฐ ์ ๋ฆฌ๋ฉ๋๋ค.ํ์ค๋ก ํํ๋๋ ์ฝ๋๊ฐ 2์ค์ด ๋์ด๋ฒ๋ ค์ ์ ๋ ๋ณด๊ธฐ๊ฐ ์ข์ง ์์์ ๋ณดํต 200์ด์ ์ก์ต๋๋ค.
prettier.tabWidth (default: 2)
ํ
์ ๋๋ ์ ๋ ๋ช์นธ์ด ๋์ด์ง๋์ง๋ฅผ ์ค์ ํฉ๋๋ค. ์ ๋ ๋ณดํต 4๋ฅผ ๋๊ณ ์๋๋ค.
prettier.singleQuote (default: false)
ํ๋ฐ์ดํ๋ฅผ ์ธ๊ฑด์ง ์ค์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์๋ฐ์ดํ๊ฐ ๊ธฐ๋ณธ์
๋๋ค. ์ฝ๋ฉ์ ํ๋ฉด์ ํ๋ฐ์ดํ๋ฅผ ์ผ๋ค๋ฉด ๊ฐ์ ๋ก ์๋ฐ์ดํ๋ก ๋ณ๊ฒฝํด ๋ฒ๋ฆฝ๋๋ค.
prettier.trailingComma (default: 'none')
๊ฐ์ฒด, ๋ฐฐ์ด, ํจ์ ๋ฑ์ ํํ์ ์ผํ๋ฅผ ์ฐ์์ง ์ ์ดํฉ๋๋ค.
"
none
" - ์ผํ๋ฅผ ๋ถํ์ง ์์"es5
" - ES5์์ ์ ํจํ ํํ ์ผํ ๋ถํ (๊ฐ์ฒด, ๋ฐฐ์ด ๋ฑ)"all
" - ๊ฐ๋ฅํ๋ฉด ํํ ์ผํ๋ฅผ ๋ถํ (ํจ์ ์ธ์)prettier.bracketSpacing (default: true)
๊ฐ์ฒด ๋ฆฌํฐ๋ด ๋ด๋ถ์ ๊ณต๋ฐฑ์ ์ ์ดํฉ๋๋ค
prettier.jsxBracketSameLine (default: false)
jsx ์์์ ๋ง์ง๋ง ๋ค์ ์ค์ ๋ซ๊ธฐย
>
๋ฅผ ํ์ํฉ๋๋ค.prettier.parser (default: 'babylon') - JavaScript only
javascript์์ ์ฌ์ฉ๋๋ฉฐ ํ์๋ฅผ ์ค์ ํฉ๋๋ค. ํ์๋ 'flow'๋ฐ 'babylon' 2๊ฐ์ง๋ง ์ง์ํฉ๋๋ค.
prettier.semi (default: true)
๋ฌธ์ฅ ๋ค์ ์ธ๋ฏธ์ฝ๋ก ์ ๋ถํ์ง ๋บ์ง๋ฅผ ์ค์ ํฉ๋๋ค.
prettier.useTabs (default: false)
์ฐธ์ด๋ฉด ํญ์ด์๋ ์ค์ ๋ค์ฌ ์ฐ๊ธฐ ํฉ๋๋ค.
prettier.proseWrap (default: 'preserve')
๋งํฌ ๋ค์ด์ ๊ณต๋ฐฑ ๋ฐ ์ค๋ฐ๊ฟ ๊ฐ์ ๊ฒ์ด ์ค์ํ ์์์ด๋ฏ๋ก ์ฌ๋ฌ ์ค์ ๊ฑธ์ณ ์ฐ๋ฌธ์ ๋ฉํํฉ๋๋ค.
prettier.arrowParens (default: 'avoid')
๋จ๋
ํ์ดํ ํจ์์ ๋งค๊ฐ ๋ณ์ ์ฃผ์์ ๊ดํธ๋ฅผ ์๋์ผ๋ก ๋ถํ
prettier.jsxSingleQuote (default: false)
JSX์์๋ ํฐ ๋ฐ์ดํ ๋์ ์์ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
prettier.htmlWhitespaceSensitivity (default: 'css')
HTML ํ์ผ์ ์ ์ญ ๊ณต๋ฐฑ ๊ฐ๋๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. (๋ญ~ ์ด์ผ๊ธฐ์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค์)
prettier.endOfLine (default: 'auto')
์ด ์ค์ ๋ ๋ฌด์จ๋ง์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์ด์.. ๊ทธ๋ฅ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋๊ณ ์๋๋ค.
prettier.quoteProps (default: 'as-needed')
๊ฐ์ฒด์ ์์ฑ์ด ์ธ์ฉ ๋ ๋ ๋ณ๊ฒฝํฉ๋๋ค.
prettier.requireConfig (default: false)
prettierconfigํ์ผ์ ์ ์ฉํ ์ง๋ฅผ ์ ํํ๋ ๊ฒ ๊ฐ์์
prettier.ignorePath (default: .prettierignore)
.gitignore
์ฒ๋ผ prettier์ด ์ ์ฉ๋์ง ์๊ฒ ํ๋ ค๋ฉดย .prettierignore
์ ํ์ผ๋ช
์ ๊ธฐ๋กํ๋ฉด ๊ทธ ํ์ผ์ ๋ฌด์๋ฅผ ํฉ๋๋ค๋ํ ํ์ผ ๋ฟ๋ง ์๋๊ณ ์ฝ๋๋ด์์ ์ฃผ์์ผ๋กย // prettier-ignore
๋ผ๊ณ ์์ฑํ๋ฉด ํด๋น ์ฝ๋๋ง ๋ฌด์ํฉ๋๋ค.html์์๋ย <!-- prettier-ignore -->js์์๋ย // prettier-ignore
prettier.disableLanguages (default: ["vue"])
์ด ํ์ฅ ๊ธฐ๋ฅ์ ๋นํ์ฑํ ํ ์ธ์ด ID ๋ชฉ๋ก์
๋๋ค.
์ถ์ฒ:
[UX ๊ณต์์]