user19409: I think that Visual Studio is a great product! I find the Arduino IDE is limited in its features. For example the Arduino IDE does not have:

Code prediction
Error highlighting
Previews of #define values
Peek at code definition
Jump to code definition
and many more...

Since the Arduino ino & pde file types are basically C++, Can I use the Visual Studio IDE instead of Arduino IDE?
To be considered as a replacement, Visual Studio must be able to:

Save & open ino & pde files.
Compile my code.
Download my code.
Use existing/custom libraries from the Arduino IDE.
Detect and display an Arduino project.

I would consider these features as a bonus:

Arduino board selection. 
Debugging 


Variable watch window
Breakpoints
Step through code

Simulation
Open the Arduino Examples
Automatic board detection
Serial Monitor


user490: Atmel Studio 7 which is built with Visual Studio. Google "Atmel Studio 7" or click here. It has everything you want and it's released by the company that makes the atmega328 your Arduino is built on. 

user66157: Note, this answer is not technically for the full edition of Visual Studio, rather Visual Studio Code.
Microsoft has released an Arduino extension for VS Code that can do most (all?) of the required items in the OP's list.
Added this answer as a free alternative to the accepted answer.

user18532: I only use Visual Studio for Arduino programming.
Arduino Plugin for Visual Studio

19409: <p>I think that Visual Studio is a great product! I find the Arduino IDE is limited in its features. For example the Arduino IDE does not have:</p>

<ul>
<li>Code prediction</li>
<li>Error highlighting</li>
<li>Previews of #define values</li>
<li>Peek at code definition</li>
<li>Jump to code definition</li>
<li>and many more...</li>
</ul>

<p>Since the Arduino ino &amp; pde file types are basically C++, Can I use the Visual Studio IDE instead of Arduino IDE?</p>

<p>To be considered as a replacement, Visual Studio must be able to:</p>

<ul>
<li>Save &amp; open ino &amp; pde files.</li>
<li>Compile my code.</li>
<li>Download my code.</li>
<li>Use existing/custom libraries from the Arduino IDE.</li>
<li>Detect and display an Arduino project.</li>
</ul>

<p>I would consider these features as a bonus:</p>

<ul>
<li>Arduino board selection. </li>
<li>Debugging 

<ul>
<li>Variable watch window</li>
<li>Breakpoints</li>
<li>Step through code</li>
</ul></li>
<li>Simulation</li>
<li>Open the Arduino Examples</li>
<li>Automatic board detection</li>
<li>Serial Monitor</li>
</ul>
 490: <p>Atmel Studio 7 which is built with Visual Studio. Google "Atmel Studio 7" or <a href="http://www.atmel.com/Microsite/atmel-studio/" rel="nofollow">click here</a>. It has everything you want and it's released by the company that makes the atmega328 your Arduino is built on. </p>
 66157: <p>Note, this answer is not technically for the full edition of Visual Studio, rather Visual Studio Code.</p>

<p>Microsoft has released an <a href="https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino" rel="nofollow noreferrer">Arduino extension</a> for VS Code that can do most (all?) of the required items in the OP's list.</p>

<p>Added this answer as a free alternative to the accepted answer.</p>
 18532: <p>I only use Visual Studio for Arduino programming.
<a href="http://www.visualmicro.com/" rel="noreferrer">Arduino Plugin for Visual Studio</a></p>
