Visual Studio is probably the best IDE out there in my opinion, and Visual Micro provides a plugin for Arduino. Code-completion, debugging, great serial input/output...it's all I use anymore.
The community edition of Visual Studio (basically the full and complete version) is free now since Microsoft has shifted their strategy so it no longer requires any big expenditure.
As a regular Visual Studio user (full-blown VS, not VS Code), I installed the Arduino IDE for Visual studio on about my 2nd day of mucking around with Arduinos and haven't looked back since. I love it.
Thoroughly recommended to anyone who knows their way around Visual Studio. Works well with VS 2015 and VS 2017.
Check out Visual Micro: http://www.visualmicro.com/
It actually uses the Arduino IDE tools under the hood, and it's not perfect, but it's all the best parts of a "real" IDE which makes it easier to manage projects that are more than a couple of functions.
I use Visual Studio at my day job and I can't imagine coding without the browsing, code discovery and Intellisense features of VS.
Visual Micro (http://www.visualmicro.com) is great and it is free for hobbyists. I definitely recommend it.
Visual Studio Community edition 2013 is free: https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
Then grab Arduino IDE for Microsoft Visual Studio and Atmel Studio, also free, here: http://www.visualmicro.com/
mmmm goooood
One thing to note is that you can use Arduino boards just as any dev board, (in some cases they're even cheaper than the bare chips) just use you own programmer instead of the bootloader or the arduino IDE, Atmel studio supports arduino boards now.
the arduino framework is what the arduino IDE uses, but it's not limited to that. http://www.visualmicro.com/page/Arduino-for-Atmel-Studio-7.aspx
the other main option is the atmel SDK, in which case all of that you quoted probably applies and you'd need to verify the schematics.
Looks like a very cool project! I was just looking at your github page, and could see you require both visual studio and the arduino ide, you could however use Visual Micro for programming the arduino with visual studio. If this was a cheap alternative to a controller, I would definitely look into it!
I don't know if you are still looking for a tool, but I found http://www.visualmicro.com/
It's a plugin for visual studio and you can set breakpoints and see variables. Single stepping is not possible.
If you found anything better could you let me know?
Haha - I had to explain that exact difference to a newbie programmer (my daughter) two days ago. Easy mistake to make. BTW I've worked in Visual Studio my whole career so I was happy to discover the plugin from Visual Micro. Their website: http://www.visualmicro.com, or you can also download it from the Visual Studio gallery. So far it is working great and the development experience is much better. I installed it on Win10 VS2015 Pro
You could try Visual Micro.
Official link: http://www.visualmicro.com/
Microsoft Visual Studio 2013 Community Edition (it's free and great!)
Supports all Arduino versions 1.0 to 1.6 and the Intel Edison/Galileo
Super fast compiler with double click drill down into source code
Supports multiple .pde/.ino files in a single project
Easy set-up
Usb/wifi debugger with break and update of variables on the mcu
Educational mode
If you're using I2C you can use an I2C LCD module on your I2C bus without losing any pins or slowing things down as much as using the serial port.
Using VisualStudio with the Visual Micro addon lets you set breakpoints and other debugging tools.
Visual Studio Community edition 2013 is free: https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
Then grab Arduino IDE for Microsoft Visual Studio and Atmel Studio here: http://www.visualmicro.com/
mmmm goooood
If you dont want to use Serial.print to take a look at values, the only thing i can think of is using a debugger to look at global/local variables.
http://www.visualmicro.com/post/2012/05/05/Debug-Arduino-Overview.aspx
Like /u/dodoburd mentioned, there is a plugin (http://www.visualmicro.com/page/Arduino-for-Atmel-Studio.aspx) that will let you use Arduino source files and the Arduino libraries in Atmel Studio. I don't use it - I just write in C and compile for the 328p - but it seems to work fine.