I went on vacation for a few days; came back and opened a project in VS Code only to find that a major behavior had changed. Formatting on save was removing all semicolons, which in turned caused eslint to throw hundreds of errors. When I auto-fixed the errors to satisfy eslint and saved again, the semicolons were removed again. Repeat to infinity.
Digging in my user settings I discovered that
prettier.eslintIntegration (a key I'd set to
true, presumably because some docs somewhere told me to) was no longer recognized. After doing some searching, I commented out that key and added
I'm documenting this not because I think it's a solution; I still think there are interactions between prettier, eslint, and the native formatter that I don't understand... but my semicolon problem is solved for the morning.
UPDATE [30 minutes later]: No -- it wasn't fixed until I also commented out the
editor.formatOnSave key. Before I did that it was deleting the semis, then re-inserting them, every time I hit save. You could see them blink away then blink back into existence. I guess that's proof that the native formatter somehow wasn't getting prettier's settings (to keep semis). I think? Anyway. Fixed.