The pde file IS C++ code. The IDE adds some code to it, such as a main function that calls init(), setup() (your function), loop() (your function), and generates function prototypes for your other functions, if any. It adds some header file include statements.

Adding these additional things yourself isn't difficult.

Have you figured out how you are going to make Visual Studio invoke avr-gcc?

i have makefiles that I use to build things . The makefile takes the PDE and applies the requisite things to make a CPP file.. you could easily modify the makefile to just use the sketch.cpp file and not go through the conversion.

It also does the upload.One thing to note, to make things work with multiple boards, (Mac paths) I make unique copies of the libraries in /Applications/Arduino.app/contents/Resources/Java/Hardware and select those using the MCU variable defined in the Makefile.

That's it. The rest of the magic is including the correct include directories, core files, and libraries in the compile commands. Hold down the shift key while doing "verify" to get verbose output of what goes on during the sketch compile.