views:

80

answers:

1

Hello. What are their differences? What can you do with one that you cannot with another?

Thanks

+3  A: 

At a high level

  • Addins must be installed and must be delivered in the form of a DLL. It can be written in any language which compiles to a compatible DLL format (any .Net language which supports COM interop).
  • Macros do not need to be installed but can only be written in VB.Net. This limitation only applies to the code directly in the Macro. It is still free to call code from .Net libraries written in any language.

In terms of raw power, there is not a whole lot of difference between the two. You can do practically anything with a macro that you can with an add-in (other than startup logic). It can be a bit more challenging with a macro but it's generally speaking possible.

Macros are also an interesting way to explore the API of Visual Studio. It is possible to use the Macro recorder to record user actions and spit out code which is close to the equivalent of those actions. You can analyze the resulting code to get a better handle on the Visual Studio object model.

JaredPar