8

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
3
  • This question is similar but different to arduino.stackexchange.com/questions/4354 I am after all options available, using any method.
    – sa_leinad
    Apr 27, 2016 at 16:03
  • Atmel Studio deserves mention here. It's based on the Visual Studio shell, has top debugging support if using something like ATMEL-ICE and is the official way to program Atmel chips. Downside? It's clunky with Arduino API.
    – Malachi
    May 27, 2016 at 19:29
  • I use Eclipse and Sublime Text for editing Arduino code, and I build in the Arduino IDE with it set to "external editor" mode, or using the Arduino Command Line tools. Eclipse has a fantastic indexer and makes understanding the Arduino core much easier. I've written a detailed PDF about using and setting up Eclipse for professional software development here: github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/…. May 7, 2020 at 7:12

4 Answers 4

8

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

2
  • This really ought to be the accepted answer. VisualGDB would be your go-to for "real" debugging, but unlikely it works with base Arduino Uno.
    – Malachi
    May 27, 2016 at 19:22
  • 2
    If it wasn't when before, the linked plugin is a paid product. Oct 3, 2019 at 21:13
2

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.

1
2

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.

-1

It's not exactly what you are asking, but maybe you would be willing to consider a solution based on Eclipse?

Eclipse has the advantage of being cross platform, so you can have the same experience no matter what your OS might be.

Although, for the sake of completeness, almost all you mentioned can be done even with vim, if adequately configured. But I wouldn't recommend it as first choice, if you have never used it before.

2
  • 2
    I use Eclipse and Visual Studio on an almost daily basis for my job. Although there are a few nice things I like about Eclipse, and even CodeBlocks, Visual Studio is by far a more polished product.
    – sa_leinad
    Apr 27, 2016 at 16:19
  • Different strokes ... I'm happy with vim :-) About debugging, you will need something more than an IDE. You need an ICE or equivalent. I have the AVR dragon (atmel.com/tools/AVRDRAGON.aspx) and it works nicely with ddd + gdb, but it can be made to work also with eclipse, iirc. If you want a windows based solution, I suggest you to check the Atmel site. Most likely they do support primarily windows and you can start from there, to pick the debugger, based on what is available/recommended. Apr 27, 2016 at 16:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.