Visual Studio can be extended in many ways. Here are some of the options:
1. Macros
2. AddIns
3. VsPackages
4. Language Service
5. DSL Tools
6. VSShell
To start extending Visual Studio is to work with Add-Ins. Compared to macros there are many advantages with macros. The primary advantage is add-ins can be developed using any language but macros are to be written only in vb.net.
I will post about each of the topics which I mentioned above as and when I find time.