Microsoft has used WPF to write tools in the past... Expression Blend and Design being two of those tools among others. Its extremely exciting to see that they are making even a bigger commitment to WPF as a platform for writing applications. This week at PDC they announced that the shell of the Visual Studio 2010 IDE will be written in WPF. Since Visual Studio has a huge legacy code base and many tools already built a top the DTE, not all of it will be converted to WPF and managed code. However, one of the most noticeable changes will be that the code editor will be written using the rich text capabilities of WPF... which means that we will now have a very powerful presentation model (rich text, animation, etc) in the IDE that we can leverage to build better IDE experiences. This also means that the bar for extending Visual Studio IDE will be greatly reduced.
Customizing the Visual Studio Start Page
One of the extension points for VS 10 will be modifying the start page... which is possible today, but the model for integrating into other aspects of the IDE (like macros or commands) will be far simpler than what we have today. To customize the home page will require you to modify the Xaml file that is found in Documents\Visual Studio 10\Start Page\StartPage.xaml. To integrate with Visual Studio commands will be a matter of passing in a well-known string identifier for the command.
Managed Extension Framework (MEF) enables the Add-In Model
The new text editor will be composed of MEF components which can be swapped out and customized by supplying your own implementation. The customization capabilities will be limited to the following areas :
Classification: Rich Text Formatting
- Which will allow us to create a richer reading environment for code.
- Ability to leverage WPF's rich text capabilities.
Adornments: Power Graphics
Any WPF visual - can render a UI element anywhere.
- Associate adornments with text, render comments in the MSDN document style inline with code.
- Support for animation and behavior of different aspects of the code.
Margin and Scrollbar Customization
- Allows for the ability to create visual representations of structure in the margins of the code editor... this looked very similar to the way ReSharper implemented their Marker Bar (shown below).
Intellisense and Smart Tags
- Contribute to completion of Intellisense ... meaning that we can now filter items. For a long time I have wanted the ability to modify the intellisense so that when I need to I can just view only the properties, methods or events for a type... and it looks like now the bar may be lowered enough to implement something like this relatively easily.
- Override the presentation of the parameter help or quick info
- Add menu items to smart tags
If you want more information, you can check out the videos on channel9.
Posted in PDC 2008 | WPF |Comments [2]
Sysknowlogy