Autoformat in VSCode on Auto-Saves

2023-09-08

I've had VS Code setup to format my code on save for a while now, and I love it!

Recently though I had a few files slip through my auto-formatting and be caught in CI. When I investigated it turns out that my VS Code settings were prevening auto-formatting from running on auto-save.

I had files.autoSave set to afterDelay and files.autoSaveDelay set to 300. Which meant that after 300ms my code would auto-save. However, auto-formatting would only run on manual saves, not auto-saves triggered by afterDelay.

The fix was pretty simple! I switched from afterDelay to onFocusChange! Now my files get saved anytime I switch to a different window or file, and even better auto-formatting runs as well!

Here is a snippet from my new config with a comment I left for future me:

"files.autoSave": "onFocusChange",
// By setting files.autoSave to `onFocusChange` the delay below isn't needed
// We need to use `onFocusChange` (or `onWindowChange`) since auto formatting isn't
// applied when using `afterDelay` :sadnerd:
// "files.autoSaveDelay": 300,

coreyja weekly

My weekly newsletter tailored at developers who are eager to grow with me!
Every week will be unique, but expect topics focusing around Web Development and Rust