저렇게 상단 파일 탭 > 기본 설정 > 사용자 코드 조각이 있다. 저걸 누르면 vscode에서 템플릿을 사용할 수 있다.
vscode의 확장 중에 vue와 관련된 확장이 있어 vueinit을 사용하면 composite api 전용 템플릿이 바로 만들어진다. 이 부분이 굉장히 편해서 vue를 쓰기도 한다. 그런데 nuxt 전용 hook인 fetch는 확장에 등록이 되어있지 않아 하나하나 작성을 했었다. 굉장히 귀찮았는데 왜 이제야 해결 방법을 찾아봤을까? vue 파일을 상당히 많이 만들고 난 뒤에야 vscode에서도 template을 지원한다는 것을 검색해봤다.
vue 안의 script에만 scope를 적용하는 방법까지는 찾지 못 했다. javascript scope로 범위를 조금 넓혀도 vue 안의 script에서 원활하게 사용이 가능하다. async fetch에서 보통 axios로 get, post, put, delete를 사용하기 때문에 각각을 fetch-get, fetch-post, ... 으로 만들었다.
{
// Place your snippets for javascript 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"
// }
"nuxt fetch-get": {
"prefix": ["fetch-get"],
"body": [
"async fetch() { await this.$$axios.$$get(\n`${1:url}`\n).then(res=>{\n${2:data-process}\n}).catch(err=>{consoel.log(err)}) }"
],
"description": "nuxt's fetch hook"
},
"nuxt fetch-put": {
"prefix": ["fetch-put"],
"body": [
"async fetch() { await this.$$axios.$$put(\n`${1:url}`\n).then(res=>{\n${2:data-process}\n}).catch(err=>{consoel.log(err)}) }"
],
"description": "nuxt's fetch hook"
},
"nuxt fetch-post": {
"prefix": ["fetch-post"],
"body": [
"async fetch() { await this.$$axios.$$post(\n`${1:url}`\n).then(res=>{\n${2:data-process}\n}).catch(err=>{consoel.log(err)}) }"
],
"description": "nuxt's fetch hook"
},
"nuxt fetch-delete": {
"prefix": ["fetch-delete"],
"body": [
"async fetch() { await this.$$axios.$$delete(\n`${1:url}`\n).then(res=>{\n${2:data-process}\n}).catch(err=>{consoel.log(err)}) }"
],
"description": "nuxt's fetch hook"
}
}
스크린샷에서 보이듯이 fetch-get을 선택해서 귀찮고 반복적인 코드 타이핑을 많이 줄일 수 있었다.
intelliJ에서 테스트 코드 given when then 템플릿을 만들다가 vscode에도 템플릿을 만들게 됐다. 역시 더 많이 아는 사람이 더 효율적으로 산다. 지금부터라도 템플릿을 써서 다행이다.
'프로젝트 > 크루트' 카테고리의 다른 글
https와 cross domain으로 서버와 통신 시 쿠키 보내는 법 (0) | 2022.03.24 |
---|---|
테스트 케이스를 private으로 작성하면 test를 못 읽어요 (0) | 2022.03.20 |
JPA를 쓰는데 Fk 제약조건 때문에 골머리 썩고 있다면 cascade를 사용해서 쉽게쉽게 갑시다 (0) | 2022.03.10 |
textarea에 엔터를 입력했는데 렌더링해보니 줄 바꿈이 안 된다? (0) | 2022.03.10 |
NuxtLink의 to에 path를 사용하면 params는 못 써요 (0) | 2022.03.09 |