Visual Studio 2010 provides a rich set of project templates and tools that developers can use to create custom SharePoint solutions. Although these SharePoint projects and tools work well for most scenarios, there may be times when different or new functionality
is needed. In these cases, you can adapt the SharePoint project system and development environment by using a new Visual Studio extensibility Application Programming Interface (API). This API lets you create new SharePoint project items, automate and extend
existing SharePoint project items, enhance packaging, validation, deployment and retraction, extend the SharePoint nodes in Server Explorer, and even create new designers.