VS Code에서 TypeScript와 prettier 사용 시 <와 > 사이에 공백이 들어가는 문제
문제
최근 VS Code에 prettier 플러그인을 연동해서 매우 편하게 포맷팅을 하고 있다.
그런데 어느날부터 TypeScript를 작성하는데 <와 >로 표현한 제네릭 표현법이 이상하게 바뀌는 걸 확인하게 되었다.
증상은 아래와 같다.
// 아래처럼 작성 후 prettier를 거치면 const [data, setData] = useState<DataModel | null>(null)
// 아래처럼 바뀐다 const [data, setData] = useState < DataModel | null > (null)
해결
구글링 해보니, https://github.com/prettier/prettier-vscode/issues/420 이런 이슈를 발견했다.
해결법은 프로젝트 루트에 있는 .prettierrc
에 있는 parser
옵션을 지우는 것. 해당 옵션을 지워야 prettier plugin이 언어를 제대로 추론해서 동작하는 듯.
해당 옵션을 제거 후 VS Code를 껐다 켰더니 문제가 해결 되었다.
한줄요약: VS Code + TypeScript + Prettier 사용 시
.prettierrc
파일의parser
옵션을 없애자.