I just noticed this behavior for the first time in 18.3 when the formatter corrupted a large chunk of code (I assume this is a bug too) by converting random "=>" operators to "= >".
I then tested it on 18.2 to see the exact same behavior (the auto compile, that is).
This certainly can't be a recommended behavior and if so, give us the option to turn it off and keep it off by default. I know exactly when I want to compile my code.
PL/SQL Developer doesn't do this

Message was edited by: thatJeffSmith-Oracle