Project structure to build for PC and Arduino
I haven't done it yet, but you could do the following things to get a somewhat close approximation:


Make three different projects, one for the PC (only), e.g. Visual Studio, and one for Arduino (with the default Arduino IDE or e.g. Visual Micro). The last will be a generic library to be used for both the PC and Arduino.
Use the Arduino specific libraries only for the Arduino project.
Create facade/wrapper classes for each Arduino library.
Use a mock/stub for the Arduino libraries in the PC only project.
Put all non-hardware related code in separate classes, to be used by both projects.
Write unit tests for the PC only project.
The PC project will be tested by unit tests, and can be debugged on a PC
Only the specific Arduino libraries/interfaces have to be tested using the 'hard way', e.g. with Serial.


So the projects (including testing) will look like:


PC Project


References common code
Stubs for Arduino libraries, stubs can possibly be reused by PC Unit tests

PC Unit Tests


Unit tests
References common code

Arduino Project


Containing Arduino libraries
References common code

Common Code


All domain specific classes