PDC 2008: Microsoft Visual Studio: Customizing and Extending the Development Experience Thursday, October 30 2008
- Agenda
- Extending Visual Studio
- VS 2010 Extensibility
- Extend your Development Experience
- Find Tools
- Visual Studio Gallery
- VS 2010 download manager
- CodePlex
- Customize Tools
- Existing Customizations
- Start page
- Build Tools
- Add-ins
- Packages
- Designers
- DSLs
- Editor Components
- Find extensions in the gallery
- 100s of Extensions
- Demo of "Power Commands"
- Creation of Custom Tool Window
- Content is a XAML viewer
- DTE Actions
- Use SDK sample browser to initiate
- Visual 2010 changes: WPF Shell
Side note: The SDK Samples look pretty complete. Looking forward to playing with that
- Still a lot of work to hook Tool windows into VS. Lots of hWnd magic, wrapper to managed code stuff
- Only in VS 2008!
- All the VS2010 stuff will be all WPF
- Currently there are a lot of MsVsShell attributes to wire packages into VS.
- Apparently there are lots of changes in VS 2010 to make this simpler
- DTE
- Development Tools Extensibility
- High level apis
- Used by macros and addins, but useful for packages as well
- Isolated Shell
- Visual Studio 10 Extensibility Offerings
- Customizing the start page
- The start page is just XAML
I think I might make a TFS start page explorer type thing. It strikes me as an interesting project
- You can do whatever you want as far as DTE commands
- New managed extensibility mechanism designed from the groupd up
- All managed (NO COM!!!)
- Used for emerging Visual Studio architecture
- Appears first in the editor
- Characterized by ease of construction and deployment
- Self describing payloads, "xcopy" semantics
- DILU (drop in, light up) deployment
- *Not* focused on hot deploy in first release
- Stop and restart is required (Not a big deal in my opinion.)
- Things you can do
- Rich text formatting
- Rich reading experience
- multiple fonts
- Font styles and effects
- Opacity
- Higher performance
- Composable
- 3rd party mixins
- Per-line transforms
- Adornments
- Any WPF visual
- Drawn on one of several planes
- Two tracking modes
- Associate with text
- Associate with screen
- Animation and behavior
- If you can do it in WPF you can do it in the editor
- Margin and scrollbar control
- Replace or customize existing margins and scrollbar
- define new margins
- All four sides
- Support for spatial mapping
- Intellisense and Smart Tags
- Any3rd party (not just language services)
- Contribute to Completion
- Override the presentation of Parameter Help or Quick Info
- Add menu items to Smart Tags
- Demo of a word tracking highlighting
- Just need to use standard MEF attributes to wire up new components
- Attribute ContentType constrains the providers to specific content types (text, csharp, vb)
- There are services in place to simplify UI updating race conditions.
- The WPF editor components are almost 100% production ready
- Managing your extensions
- What if you could dicover and search for extensions within the IDE
- What if you could install, manage and update extensions there as well?
- What if we could make publishing IDE extensions (of all flavors) easy, fast, and fun?
Side note: That would be cool if they could do that, but I don't think there will be 100s of free hobbist addins
- Extension manager
- "In Situ" experience for extensions
- Simplified packaging and deployment
