🕌
VS CodeでVueのIntellisense(入力補完)が遅いとき
前提
- Veturを利用している
- jsconfig.jsonを書いている
- NuxtかVueで開発している
参考にしたサイト
ずっと理由がわからず、VS Codeくそやん!とか思ってしまいましたがどうやらVS Codeは悪くないようです。
Vetur Intellisense slow and incomplete if project has jsconfig #547
結論
jsconfigの「include」には、veturに適用する必要のあるフォルダーのみを含める。
プロジェクトフォルダのjsconfig.jsonを
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["./*"],
"@/*": ["./*"],
"~~/*": ["./*"],
"@@/*": ["./*"]
}
},
"exclude": ["node_modules", ".nuxt", "dist"]
}
から
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"~/*": ["./*"],
"@/*": ["./*"],
"~~/*": ["./*"],
"@@/*": ["./*"]
}
},
"include": ["pages", "store", "layout", "component"],
"exclude": ["node_modules", ".nuxt", "dist", "assets", "functions"]
}
に変えた(includeで含むフォルダだけ書けばexcludeは無くてもいいはず)
解決まで
まずは遅い原因がVS Codeなのか考えたところ、vueファイル以外のjsファイルなどは遅くないので拡張機能が原因だと思い、veturが怪しいと思ったのでググったところ先程のissueを見つけました。
前はこんな遅くなかった気がしたので最近assetsにDBに入れる前のjsonファイルやsvgを突っ込んだりしたのを思い出し、vueのコードを置くpagesやstoreなどだけをveturの適用範囲にしたところ速度が戻りました。
nuxtでなくvueで開発しているならsrcファイルにコードをすべて入れてincludeをsrcだけにするのもいいと思います。
Discussion