@rory
I use VSCode and for use cases like you have (where I don't really want to reload every change, because it causes issues) here's the worflow I have. It's unique to our dev environment, but there might be flows you can mimic.
We use Vagrant for our dev environment (so we can all mimic the production server OS) and I have a bash script I can call which will reinitialize/reload the application. The bash script just calls cURL to a script which does things like reinits, clears cache, etc. Basically everything to get the application into a freshly initialized state.
I have VSCode open a terminal window via SSH into our VM when opening the project.
This gives me really quick access to the bash script to re-init. The script is usually the last one I've run, so it's very easy to trigger.
So there is a little bit of wait while this happens, but this workflow is an exception to my normal flow and only happens in a few situations.
So if your ORM components aren't usually changing a ton (except when actively working on them), maybe something like that will work for you if the directory watcher introduces too many issues.