On to the C# 2005 IDE Enhancements talk. The opening started with a “visit our sponsors and communities” experience.
Initially, we’re working on the Watch Window. They’ve cleaned it up, properties and methods grouped and added some style (glyphs) to make it easier to read. Ooh! And intelli-sense has been added to the Watch Window, making it easy to find objects and a Visualizer which allows you see the data you way want and it’s easy to build your own (just build a windows form inheriting their controls and drop it in the correct directory). Datasets are also easy to get data out of using a Datagrid-styled Visualizer. Now developers just need to get used to using the new feature enriched Watch Window.
OK, Amazing!!! The intelli-sense has also been pimped because Microsoft sees C# developers as “code focused”. When you open it, only the main methods are shown and grouping drop-downs to get to the rest of the properties. Hitting CTRL also makes the intelli-sense transparent so you can read the code underneath! This little feature brought great applause.
The Exception window has also been enhanced, and includes hyperlinked tips. Edit and Continue has also been added so you can change the code while you’re debugging.
The Class View window now comes with a search tool so it’s easy to hunt for stuff through existing code. Class Diagrams are also available where you can either create or drag-and-drop classes and get a visual view of what’s happening. The diagram is also interactive so changes in the code are automatically seen in the diagram.
There’s also a Code Definition Window so simply clicking on code will show it’s origin in separate window. Even for definitions where you don’t have the code, VS2005 has a Meta Data Source which will generate in a C# style the Class Definition!
Unbelievable! They’ve also added an Object Test Bench, where you can, with a simple click, instantiate and invoke methods in a run time environment, without actually running your application!
There is also Refactoring! Enough said, my mind is already blown. Refactoring is the method of restructuring code without changing its behaviour. This means you can select a piece of code and the IDE will put it in its own method and call the method where the original code was. Refactoring also, and this is just another feature, allows you to automatically build properties from public fields. Cleaning up WTF code is now actually easy to implement. YTRF (Yet Another Refactor Feature) is that you can remove a parameter from a method and the IDE will go and remove the parameter from all references.
OK this is also cool. It’s also piss easy to rename classes and methods and the IDE will go by its self and rename all the references to it. There is also a preview window if you want to see what’s going to be changed. You can even rename from the Class Diagram.
I don’t know which the coolest feature is; it could even be the snippets which is boiler made smart code which you can also easily create.