Well, I've been using the Visual Studio 2005 for about two months now. There are tons of new features, and although most of the demos are showing off the new features of ASP.NET, it's the core Visual Studio and framework changes that are the coolest.
Generics and More
For example, how happy am I to have generics? So much code has been saved and so many fewer classes. It's marvelous. The refactoring and snippets inside Visual Studio are so expediting. The Unit Test functionality is great for testing Class Libraries without a client. And, I am so pleased that the C# IDE is starting to slowly resemble the awesomeness of the VB.NET IDE.
The Database Project
One feature I am enjoying is the Database project type. This is not for SQL 2005; this is just a common project for SQL scripts. I can associate more than one database connection and a default for the scripts. This lets me execute them on my local database and easily switch with the central server when I need to. I have a query builder (although the format of the resulting tSQL is embarrassingly bad), and some debugging-like breakpoints that let me write out trace information. Best of all, it can all be in source control.
NUnit is a pretty big thing in the right crowd, but most developers skip unit tests because they don't understand their value and they only see it as a cost without a savings. They're wrong. The Unit Tests in Visual Studio have the advantage of measuring code coverage; so, you may have hundreds of unit tests, but you may still only be evaluating a forth of your code. Not just that, but with Team Foundation Server I can set that my developers cannot check in their work until Unit Tests successfully cover a full n percentage of their code. That's nice.
FxCop is not all that well known. Neither is referring to the .Net framework as Fx, but who's counting? The functionality is built into Visual Studio now - it allows me to analyze my code based on hundreds of pre-defined best practices. I can also make it part of the build and let analysis items bubble up as build warnings or errors if I set it. With Team Foundation Server I can set that my developers cannot check in their work until Code Analysis is successful. That's nice.