A few weeks ago the new version of the free Visual Micro addin for Visual Studio was released. The addin provides full featured, 100% compatible, arduino development inside all Visual Studio 2008 and 2010 versions (except for express). This release means that we can code, compile, upload and burn bootloaders to any Arduino microprocessor using Visual Studio. Arduino for Visual Studio can be downloaded from here
Click to see more example images of arduino visual studio
The addin provides complete compatibility with all arduino libraries and cores, in addition to intellisense, goto compiler errors and many other useful features. One useful example is the "Auto Pause" and "Auto Resume" of serial before and after upload (unless using ISP).
Multiple ground station and/or uav projects can be organised in a single Visual Studio solution
Compiler #defines are shown clearly in all source code. A high speed compiler uses file modification times to optimise the work required. Below you can see that an arducopter compile was completed in 5 seconds. An unlimited number of serial tool windows are available.
This example shows the compilations resulting from clicking a visual studio "Build Solution" command.
Note: The ArduCopterMegaHybrid project is a full arducopter program with a minor change to the "pwm out", it's switched to i2c for the SD21 servo board. This project is not available for release it just happened to be available to demonstrate the speed of the visual studio arduino compiler
There are a few un-documented features still to be tested. One, for example, is an option to switch on support for parent library folders. This might be useful for diy drones projects that require two different versions of the same library. The feature allows the compiler to look for an additional "Libraries" folder in the parent folder of the current sketch.
Another feature we might find useful is a menu command that toggles all related sources in/out of the current project. "Project>Show All Arduino Files" does not affect sketch compilation, instead, this feature includes the sources of the arduino core and all of the libraries that have been "#included" into the current sketch. This makes is very easy for library developers/explorers to optionally work with libraries and core within their sketch projects.
Read more about Arduno for Visual Studio
Comments
@Fab
Your link doesn't work.
It looks like everyone can get a free copy of Visual Studio 2010 Pro. Read more
I would have liked that but express doesn't support addins. It is one the things that microsoft seem to feel would make express to good. It is a shame but you CAN make some things work for you in express and maybe there is more coming.
There is a project on codeplex called "Arduino To Visual Studio Converter". It will create a vs project for any sketch. Then you can use vs to edit and also have the benefit of features such as intellisense. (The product extends the right mouse menu in windows explorer)
http://arduinotovsconverter.codeplex.com/
In the arduino ide preferences you can switch on "External Editor". This forces arduino to re-load the sketch from disk when you click compile. Allowing you to edit and save in Visual Studio and then switch to Arduino just for compile and upload.
-----
I have exchanged a couple of emails with the author of the converter and he seems interested in using the arduino api that ships with the Visual Studio addin to extend his project. He might use the api to also allow us to select boards, programmers and compile/upload.
Personally I would like to see these projects combine to include a windows task bar icon or "ontop/floating" window that provides a small user interface with boards, programmers, serial, compile and upload. This would provide almost all of the functionality available from the addin.
Why not make a plugin for VS Express?
The compiler "Go To Error Location" command is not available in eclipse or the arduino ide. The red visual studio squiggles are useful when working in a source but for large projects it is very useful to be able to double click a compiler error to see a code error.
@mike i should have also said thank you for your last comment.
@all. thanks for the feed back.
@"I'll give up coding before I sink into that deep hole"
Nice start for a religiously OS discussion.
Wait a minute, I've to buy some popcorn to be prepared :)
I have been an Eclipse user for a long time now but was always searching for a better IDE for the Arduino stuff. I followed Fab's development of this plug-in from the start. I use VS2010 for C# development and found the IDE to be the best there is for Windows users. I have migrated all my Arduino projects to Visual Studio 2010 and Visual Micro. It cannot be simpler or easier to use the Arduino code framework than in VS2010 with Visual Micro.
As much as I like the arduino programming environment it is a relief that this is now compatible with VS. Great work!
Cool!
Example: Exploring Arducopter with the Visual Studio object browser
The simple view
Advanced View