Friday, September 29, 2006

Visual Studio 2005 SDK

All of us desire some sort of customization/extensibility in the existing off-the-shelf products/solutions. This is primarily because sometimes the product/solution cannot fulfill all your requirements. There could be various reasons for this. One reason is that product/solution may have been designed with generic features in mind, which would be suitable for most of the requirements/usage scenarios. But if you have very specific requirements then you end up wanting more from it. This is where, customization or more popular term add-ins come in to the picture. Fortunately, Microsoft products provide required space (in terms of API, documentation etc) for customization. And if you have used Excel-with VBA, Microsoft Business Solution products, BizTalk etc., then you will definitely realize the point I am trying to make here.
For Microsoft developers, Visual Studio IDE is a real beauty. It also provides starter kits, various different project templates, different project types etc. These items contain specific files in it. So, if you use ASP.NET web application template, then you will have few files ready for you including weform1.aspx in the solution explorer. All this is fine and cool things to have. But as I said earlier, if you want specific features then you need to do something. For example, if you want that your developers should use your organization specific project template or starter kit, and then you need to first create the project templates, starter kits etc. This is what I call as custom project template/custom starter kits/ custom themes.
Visual Studio 2005 SDK is provided for customization and extensibility of your own Visual Studio 2005 to suit your requirements. And also with the Visual Studio Object you can do all these things in your own language.

How can you get the maximum out of VS 2005 SDK?
Ø Automate Repetitive Actions using Macros
It is now possible to capture/record the repetitive actions in a macro and execute it whenever you want. For example, if your developers using series of keystrokes frequently, then one can record the macro out of it. Next time, developers just have to run the macro instead of performing same series of keystrokes again. I know QA people will say that this is not a big deal since they already do this using automation tools like Mercury, QTP etc. But developers will realize its importance for them. So, even if you are using CTRL+V most of the times, if you use macro you will have to click just once. J Sorry folks, I know that it was a bad example. J But the fact is that if you can use this feature effectively then you will end up saving lot of time with ease.
Ø Maintain Consistency Across the Projects
You can now create your own templates, starter kits or themes. For example, you can create custom template for the web application. In this template, I can put resource files for 3-4 languages. I can also web.config file and few XMLs in it. When developers will use this project template, they will find above mentioned things present in the solution explorer. This feature is really handy in large organizations. For the beginners, you can give the starter kits to start with.
Ø Integrate With External Products and Processes
It allows your IDE to integrate with third-party tools. So, if you do not want to spend time on doing these things on your own, then you can check the available product catalogue on the Microsoft site and but it.
Ø Use Automation Object Model to Create Add-Ins or Wizards
Now, the complete automation object model can be leveraged to create your own add-ins and wizards. Add-ins are compiled applications that manipulate the environment and automate tasks. Add-ins can be invoked in a variety of ways, including the Add-in Manager, toolbar commands or buttons, the devenv command line, and through events such as IDE startup
Ø Make a Product Out Of Your Customization And Sell It To Others
And finally, last but not least. You can bundle all your customizations in one product and sell it to the world. J You can join the MS partner program and make sure that your product appears in the product catalogue list. And believe me; this product development is really easy. :)

In case you are charged up by this blog, then do visit the MS URL below to download VS 2005 SDK V3 RTM.
http://msdn.microsoft.com/vstudio/extend/default.aspx

After you install it, you can see two main options in your program menu as: Help Studio Lite and Visual Studio 2005 Experimental Hive. As usual, you have hundreds of sample applications ready with the SDK. :) Wish you Happy VS2005 Extensibility!


Cheers,
Amol

No comments: