I use an external editor (not the Arduino IDE) for creating my code. That means I can print whenever I want AND I have a much better editor (in my case I use Gedit on Linux, but other options are available).
One of the tick-boxes in the IDE Preferences allows you to use an external editor. The IDE doesn't care which. It just reads the latest version of the file before verify/upload.
I use the IDE for verifying, compiling and viewing in the Serial Monitor in the normal way.
...R