In the past few columns about Visual Studio 2005 beta 1, I’ve focused on what I would call low-level changes--changes that are related to Windows .NET Framework 2.0--in Visual Studio 2005 beta 1. In this column, I want to start to discuss the high-level changes. These changes aren’t oriented on the code that you create but instead on the tool you, the developer, use to create that code.
One of Visual Studio’s (VS’s) strengths has been the power and versatility of its IDE. The first time you start a VS IDE, you’re given options on which settings to use. For example, with Visual Studio .NET 2003, you can pick from the default settings or settings similar to those in Visual Basic (VB) 6.0.
When you start Visual Studio 2005 for the first time, you can pick settings that are based on a language of choice or you can select settings based on being a Web developer. If you indicate you’re a Web developer, you get not only a different IDE layout but also different toolbars and even different wizards. The result isn’t just an IDE change but an acceptance that Web developers tend to work from a different paradigm than, say, desktop developers. Configuring the IDE in this way has disadvantages and advantages.
On the minus side, there seems to be a difference in how desktop developers are approached as opposed to Web developers. For whatever reason, Microsoft sees developers as being either Web developers or desktop developers and thinks that desktop developers (unlike Web developers) know only a single development language. My experience is that developers typically tend to work both in desktop and Web development and that they’re more likely to be limited by language restraints (i.e., not knowing a second language) than by targeted environment restraints (i.e., targeting the web versus the desktop). I suspect the IDE configuration decisions were based more on the internal Microsoft team structure than the actual needs and abilities of the average developer.
On the plus side, Visual Studio 2005 makes it very easy to save your current IDE configuration and switch between configurations. So, you can still do Web development if you choose a language-based configuration, and you can still do desktop development if you choose a Web-based configuration. You can also have a configuration set up for your Web development work and a second configuration set up for your desktop development work. Thus, overall, the new IDE tends to be beneficial because it lets you preset different configurations based on your current project’s needs.
Other new IDE features include the “Edit and Continue with Visual Basic” feature. If you’re stepping through your Visual Basic .NET code in the debugger, you can use this powerful feature to make changes without having to stop your debugging session. Suppose that you’re stepping through your code in the debugger and you come across a line of code that’s the source of an error. In Visual Studio .NET 2003, you can change the line, but then you would either have to continue without having the source code match your running application or you would have to recompile and restart your session. With the edit and continue feature, you can make the change and the VB compiler will recompile and update your application code while maintaining your current runtime environment.
But let’s get to features that are available to all .NET developers. A good place to start is on the Project Properties page. Instead of opening as a modal window, the new Project Properties window opens as a tab, just like the other windows in Visual Studio 2005. Thus, you can manipulate your project settings the same way you manipulate various source files, which is good because the Project Properties window offers some new features, including the capability to sign code and deploy application security measures.
In Visual Studio .NET 2003, you need to move outside the IDE to sign an assembly. In Visual Studio 2005, code signing is a built-in capability. From your Project Properties window, you simply select the Signing tab, then select the “Use a key file” radio button. You can then select or create a brand new key file. The result is that signing your assemblies is a no-brainer--even I can do it!
Another great feature of the IDE ties in with the new deployment model supported by Visual Studio 2005. “Click Once” deployment is an Internet-based deployment model that’s similar to the “No Touch” deployment model. I’m not going to cover everything about the Click Once deployment model here, but I want to mention that, unlike No Touch, Click Once lets you apply custom security settings to deployed applications. Visual Studio 2005 lets you preset and review this permission model and accordingly test against it.
Now lets get to the really important changes. One such change is that the IDE will no longer reformat your ASP.NET code when you switch between the design and HTML view. In addition, you now have IntelliSense when working with HTML, which is a truly wonderful feature. The fact is that there’s more to cover when it comes to the features in the baseline IDE. However, I’m going to save many of these features for when I discuss how coding has changed, but one of the most important changes to Visual Studio 2005 isn’t designed to enhance your coding.
As I’m sure you’re aware, Microsoft just released a technology preview (i.e., a pre-beta version) of the Team System software (formerly code-named Burton). Built on top of Visual Studio 2005 beta 1, Team System is oriented around tasks such as analysis, architecture, deployment, and testing. Although these tasks don’t directly involve coding, developers still need to master these tasks.
Microsoft is using Team System to respond to two realities. The first reality is that the average developer isn’t just sitting in a cube typing out conditional statements. The average developer performs such tasks as application analysis and design before the implementation phase, and unit testing, just to name a few. The second reality is that the core developer isn’t the only one using Visual Studio 2005. When a project is in development, other development team members need to use Visual Studio 2005 to get a good look at the project.
Team System provides a custom set of tools targeted at development team members other than just the developer. The new technology preview lets you sample some of these tools. Microsoft is releasing different versions of the Team System suite, each of which has a unique set of tools.
The good news is that some of the tools that make up these sets are in multiple tool suites. For example, the Unit Testing tool is part of both the developer package as well as the test services package of Team System. There are also other server-based tools that will be released along with Visual Studio 2005 and the Team System. The one I’m most interested in learning more about is a product that’s code-named Hatteras. Hatteras is Visual SourceSafe (VSS) 2005 and will be available as part of Visual Studio 2005. Many of the VSS updates are long overdue and highly anticipated. For more information about Team System or VSS 2005, go to http://lab.msdn.microsoft.com/vs2005/teamsystem or http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsent/html/vssmap.asp, respectively.