vuejs / language-tools

âš¡ High-performance Vue language tooling based-on Volar.js
https://marketplace.visualstudio.com/items?itemName=Vue.volar
MIT License
5.79k stars 392 forks source link

When there are a lot of ts files in the project, vue official will still use vue3's v-for syntax rule (vue33) to detect vue2 code. #4292

Closed curlykay closed 2 months ago

curlykay commented 5 months ago

Sorry to bother you again, still a continuation of question #3959, #4242.

After the commit: https://github.com/vuejs/language-tools/commit/32b7c72ddf3ea0410396c0c2d114359d21a533f6 merge, it did resolve #4242 issue in projects with few ts files, but my project has tons of ts files. In this repo: https://github.com/curlykay/vue2-volar, I added "node_modules/*/.ts" to the "include" in tsconfig and removed the "exclude" to simulate a project with a lot of ts files(Note: This is just for simulating projects with lots of ts files, my real projects have normal tsconfig configurations!--even so the loading time for initializing the ts/js service for my real project is still longer than that repo😅).

image

Then both "Developer: Reload Window" and "Vue: Restart Vue and TS servers" will trigger this error

https://github.com/vuejs/language-tools/assets/35558285/97e70a91-a5dc-485a-aeee-27dc539757fd

https://github.com/vuejs/language-tools/assets/35558285/4f60ab3d-7d4b-46c4-b690-910796cc7b48

env: os: macos 14.4.1 vscode: 1.88.1 Vue Official: 2.0.14 vue: 2.7.16 typescript: 5.4.4 tsconfig.vueCompilerOptions.target: 2.7

The repo provides a vsocde code-profile file, which can be imported to get a clean plugin configuration.

curlykay commented 4 months ago

This issue was fixed in version 2.0.16, but it reappeared in versions 2.0.17 and above. This repo is still available: https://github.com/curlykay/vue2-volar, and the issue can be reproduced by changing the version of the vue official plugin.

johnsoncodehk commented 2 months ago

The problem should be fixed in the latest commit, if you want to test, here is the installation package: volar-2.0.26-e6c431ce7.vsix.zip