Visual Studio or Atmel Studio?
Both Visual Studio and Atmel Studio provide identical Arduino compile, upload
and debugging features.
Currently (September 2015), Visual Micro offers two versions (VM Add-In and
VM Extension), that are identical in functionality,
but that differ in their user interface. This documentation describes the newer Visual Micro Extension, which
can currently be used with compatible with Visual Studio (all versions newer
that VS2010).
The new user interface of the Visual Micro Extension offers many advantages.
That's why we recommend to use Visual Studio, as long as the Visual Micro
Extension is not available for Atmel Studio
Both
programs, Visual Studio and Atmel Studio, are so called IDEs, Integrated
Development Environments
Microsoft Visual Studio is a commercial product from Microsoft
that you can buy in software stores.
Microsoft also offers "VIsual
Studio Community Edition", which is a fully featured, free version for
teams of up to 5 developers or non-commercial applications.
Visual Micro is fully compatible with this edition.
For all users who don't have access to the commercial edition,
Community edition is a great -and legal- option for using Visual Studio
without any costs.
Atmel Studio is a similar product, is free of charge and
can be
downloaded from the Atmel web page
Both products are based on the same Visual Studio shell, which make them
very similar in functionality, usage and appearance.
If you...
Then choose this IDE...
...want to use all kinds of Arduino compatible boards with processors
from various manufacturers, not only from Atmel.
...want to benefit from the newest functions offered by
Microsoft
...want to install additional add-ins and extensions from other
manufacturers
Use
Microsoft Visual Studio.
Visual Studio together with
Visual Micro based environment supports processors from multiple
manufacturers. Boards supported include all Arduino and Arduino
compatible boards, LaunchPads, Pic32, Chipkit, Intel Galileo etc.
Since all these boards are Arduino compatible, you will be able
to switch from one board to another while keeping your sketches.
There is a large number of add-ins and extensions to Visual
Studio that extend its functionality, from Microsoft as well as
other manufacturers, most of them appear in
Visual Studio Gallery.
There is a similar portal from Atmel, but Atmel's gallery
contains much less add-ins and extensions to choose from.
...want to use boards with processors manufactured by Atmel only
...plan to switch to the professional development options
offered by Atmel, like hardware debugging using JTAG
Use
Atmel Studio.
Atmel Studio is free but is limited to processors from Atmel only.
Boards supported include all genuine Arduinos like the Zero, Uno, Mega,
Nano, Due, Yún etc. as well as compatible boards (clones)
from other manufacturers, see
this Wikipedia article.
Boards with CPUs from other manufacturers, e.g. the Teensy
boards, are not supported.
The current version of Atmel studio is normally based on a
slightly older version of Microsoft Visual Studio.
More differences
Advantages of Visual Studio over Atmel Studio
- Visual Studio has more features for advanced users, and if you already
own a copy of Visual Studio it would be preferred.
- Visual Studio opens quickly and provide high speed
intellisense (not perfect but good).
- The plugin for Atmel Studio is currently lacking a few minor features
such as "Project > Show All Arduino Files".
This feature is very useful for exploring library sources within the project
and also aids the class explorers.
- Atmel Studio lacks some of the customization features of Visual
Studio.
- Visual Studio
intellisense code suggestions are more accurate. Example: you will see
Serial,Serial1 etc. for mega 2560 and just "Serial" for Uno, Atmel Studio will show
Serial,serial1 etc. for all boards.
- Visual Studio provides web authoring tools within an Arduino sketch
project for web based boards such as the Yun (both IDE's support web/network
compile and upload).
Visual Studio Express (download
link), Microsoft Expression Web (download
link), or other web design tool can be used instead, so this is not
a huge weakness for Atmel Studio.
- Visual Studio is required for other "non-Atmel" architectures such as
Energia, Intel Galileo, and Chipkit.
- There are more IDE add-ins and extensions available for Visual Studio
than for Atmel Studio (see Tools > Extensions and Updates...
in Visual Studio, Help > Atmel Gallery in
Atmel Studio.
-
Visual Studio Gallery offers a broader choice of
add-ins and extensions that
Atmel Gallery.
Advantages of Atmel Studio over Visual Studio
- Visual Studio "disables" source code based on #defined conditions,
which
is very useful but can also be frustrating because it also disabled
intellisense within the disabled code. Atmel Studio does not do this.
- Atmel Studio has the simulator and various other tools.
- Visual Studio
intellisense understands only C++, Atmel Studio is naturally aware of
the micro-controllers' native language.
- Atmel Studio knows about its own micro-controllers.