I finally finished downloading the beta bits late last night (5 large ISO files), and needless to say, the installation was less than trouble free. Unintuitively (and through a bit of trial and error), I realized that you have to unpack the ISO's into 2 seperate directories: 1 directory for the 2 VS.NET ISO's, and another one for the 3 MSDN library ISO's. The installer doesn't prompt to “insert” (in my case, mount via ISO mounter) the seperate discs, and I got errors that it couldn't find files it needed...thus rolling back the entire install on more than one occassion. 2 hours later, and I was finally up and running. By no means have I done an exhaustive exploration of the beta bits, but my initial impression is quite good. I had zero luck with all of the pre-beta bits (didn't play nice with previous versions, and the ASP.NET functionality didn't work at all), so I was a bit skeptical going into this install...and was very pleasantly surprised. The only complaint I have thusfar is that it runs pretty slow, but that's to be expected. Here is what I've discovered so far (in no particular order):
- The object browser has been revamped and is much more intuitively laid out. Much better descriptions for methods/properties/classes/params/etc. Not on par with Reflector, but an improvement nonetheless.
- There is a new window called “Code Definition“. If you hover over a type in the IDE, this window will give you a code skeleton of the available members to use (not displayed by default, enable it via the menus). I would like to see this integrated with the object browser (as of now, it is not...but perhaps it will be), but it's a nice touch...we are coders, and I am guessing we can understand a code outline much quicker than reading a paragraph describing how a type/member works.
- Breakpoints don't highlight the entire line of code, though there is an option to toggle this in preferences. Debugging visualizers are simply incredible, and I can't wait to thouroughly explore this with the collection types (mainly hashtables, I use them a lot and they are a pain to debug). An IDE feature I am not too fond of is whenever you open up a new tab for a code window, it opens up in front of all the other tabs (whereas in 2002/2003, it was added to the end of the tab list).
- Interface/enum/delegate/struct type names are color coded a kind of mint green color. I am not sure why this was changed and haven't explored the options with this. Type names are color coded navy blue, and keywords are still blue. I like the clarity expressed by this. Strings are color coded red (something I have always changed from the default of black first thing in the past, ala Query Analyzer) by default. Strangely, comments are stated as being color coded green in preferences, however they show up as a sky blue color in the IDE...not sure what the deal is there. Custom defined regions are color coded a forest green color, and “using“ directives are automatically enclosed in a region at the top of the code file.
- The “running documents“ window from VS 2003 has been renamed to “script outline“ in VS 2005. I've never really used this too much in the past, I usually just attach to iexplore.exe to debug client script.
- Intellisense has been beefed up and immediately starts completion when you start to type on a line, i.e. in a console app if you start on a new line and type the letter “C“, immediately intellisense drops down and assumes you are going for “Console“. *.config intellisense does not appear to be complete at this time, though it does indeed attempt (albeit incorrectly) to guess what you are trying to type. As this is a brand new feature, I would expect as much and am sure it will be much better for beta 2.
- Partial classes (expectedly) are used extensively to seperate form designer code from program execution code, i.e. all the initialization code/control declarations/etc for a webform is in a completely seperate partial class from, say, the page_load event. I like this feature, but it will take a little getting used to. This is one of the few benefits I see of partial classes, overusing this feature will lead to some really hard to read application flow. Strangely, I can't find the rest of the partial classes for webpages (where the control declarations are). Anybody know where those files are?
- Refactoring commands finally make their debut. I haven't given them a thorough beating yet, but was able to successfully convert a public member variable to a property with no problem.
- The class designer also makes a debut in the beta 1 bits. This appears to be one of the largest new features in VS.NET, so I gave it a cursory glance and have made a mental note to give it a good going over for a future post. Me likey what I saw though! This feature (if they get it right), will finally put VS.NET into the upper eschelons of IDE's, something the java folks have been used to for quite some time now (along with the refactoring commands).
- Lots and lots and lots of new controls for ASP.NET. Again, I will have to defer these for a future post as their are just too many of them for me to have really done any damage in the short time I've had the bits installed. I do like how the controls are grouped together in the new IDE, it's more of a tree like structure as compared to the 2002/2003 tab style. And speaking of visual changes, I do NOT like the Office 2003 “tube“ style menu bars, but I am sure I will get used to them.
- Generics seem to be feature complete, I was able to successfully iterate through a generic class, as well as debug it. I have not played around with iterators/anonymous methods (aka closures) yet.
- Web application debugging starts up monumentally snappier, this is due to the fact that they are not hosted in IIS until you deploy them there (by default, web apps are not placed in the IIS folder, nor are they given a virtual directory). I am having a love/hate relationship with this right now. I really like the flexibility, however I've gotten so used to IIS over the years, plus I really think that debugging an application in it's soon to be native environment is a huge plus. There are a plethora of deployment options for web apps, with FTP _finally_ as an option. Again, I've gotten so used to xcopy over the years that I don't know how much I will use this option. It will be a big boon to the folks who's apps are co-hosted though.
- The MSDN library has been completely reorganized and is much more intuitive now. It should also be mentioned that the new version of MSDN is able to be integrated into previous version of VS.NET...do this immediately, it's well worth it. The MSDN help viewer has been overhauled as well with better search options, and search hits open in a new tab in the viewer as well. The search page is no longer just a tab, but it's very own standalone page with tons of options. Code samples can be run straight from the viewer simply by pressing F5 if it's an option as well, and with each code sample there is an icon that allows you to copy the code straight to the clipboard. These are both great additions!
- In IIS management, there is a new tab called ASP.NET, which unsurprisingly is a GUI frontend to the machine.config file. It is slooooooooow though, but is indeed a welcome addition. Most developers never really took the time to get to know the machine.config file (I was not one of them), so this will probably display options that a lot of people didn't know existed. Also on this tab is the option to specify which version of ASP.NET you would like your web apps to run against (again, finally!!!).
- Lastly (and IMO most importantly), the beta bits _do not_ appear to break previous installs of both the framework AND the IDE's. Read that sentence again...wash, rinse, repeat. That is simply awesome, and I can say that I have 4 generations of Visual Studio running in complete harmony on my machine (not that I would want to say that, but it's pretty impressive nonetheless). I have not stress tested this yet though, i.e. fired up multiple versions of the IDE and given it a good run. One gripe I do have about the beta IDE is that it simply refuses to remember where I place the debugging windows in the IDE...they go back to their defaults every time I hit F5.
I'm thrilled to finally have a working version of VS 2005 (after 2 terribly disappointing pre-releases). Even after just using it for a few hours I am already dreading going back to 2003 for my daily tasks. I am starting a new category devoted to my meandering with the beta bits, so check back for updates (both rants and raves).
Posted
Jul 03 2004, 05:34 PM
by
Jayson Knight