There is a great resource on MSDN that dives into using Team Foundation Server as part of your development toolset and practices for development of SharePoint applications.
What are some things you could use this for? Glad you asked as it is in the article.
The following is a list of common SharePoint customizations that can be included in a Visual Studio solution:
Feature Event Receiver
Field Type Definitions
Timer Job Definitions
Custom Web Part
Custom Layout Page
Custom Form Template
Pluggable Authentication Provider
Pluggable Single Sign-On Provider
STSADM Command Extensions
Wouldn’t it be nice if there were templates for some of the common items? The authors thought about and wrote that as well.
Visual Studio 2008 Project Templates
Team Site Definition
Blank Site Definition
Empty SharePoint Project
Visual Studio 2008 Item Templates (items that can be added into an existing team project)
List Definition (with optional Event Receiver)
Content Type (with optional Event Receiver)
List Event Handler