I love Vue and the concept of SFCs - but SFCs have a downside of DX tooling around it, and there is only one de-facto tool for it - Volar.
I have used Volar since its inception when it succeeded Vetur and watched it grow over the years. Unfortunately, these were painful years not without some hair-pulling moments.
My biggest gripe with Volar's development was the amount of breaking changes between each release. Every time a VSCode extension would auto-update, something would break; even more so if you used any of the Volar plugins for .vue
file formatting such as volar-plugins/prettier
. While I was chasing the latest versions, I have personally filed many issues on GitHub, some of which have been fixed but ultimately it was eating into my development time and I could no longer afford to do that. I have since stopped auto-updating the extension or any of dependencies.
My current setup includes an extension and dependencies that are 7 months old, and it works as expected. There were so many major version updates since then, that I've recently tried to update to it - with a predicted result: it broke formatting. Back to my old versions I go.
Top comments (4)
I am starting to learn and work with vue using vscode. I have that doubt if volar is good and helpful. Everyone said that Vetur was so good back in 2021 (I read some older opinions).
Definitely, I won't update the extension. Which version of Volar are you using?
Thanks for sharing this!!!
Volar 1.0.24 with
@volar-plugins/prettier": "^1.1.5"
if you use any plugins for.vue
formatting.Thank you! I am using lint and prettier too 😆
Volar author here. 👋 Please note that
@volar-plugins/prettier
has been renamed tovolar-service-prettier
, and theplugins: [...]
option in volar.config.js has been changed toservices: [...]
, these are recorded at 1.8 changelog.I agree that the breaking changes to volar.config.js caused confusion, and I do plan to seek improvements, or replace volar.config.js with some alternative.
Volar was basically a one-man project, but the project scale was far greater than what one person could do, so I make overdraft a lot of time on it. If you're not happy with it, please consider contributing to improve it (whether it's code or docs), problem solving is what we as developers are supposed to do, whether the problem comes from your project or not.
(I'm sorry if you're offended by my reply, I just said what I wanted to say, and won't say more just in case drama.)