Can I use Visual Studio instead of Arduino IDE?
I only use Visual Studio for Arduino programming. Arduino Plugin for Visual Studio
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.
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.