- New Editor Samples for Visual Studio 2010 Beta 1
-
Chris Granger, one of our Visual Studio Editor Program Managers just posted some more Editor goodies on code gallery.
Here’s a quick wrap up of the samples and walkthrough that just got posted:
Editor Extension Hands On Lab
This lab takes you through the end to end scenario of creating and editor extension, by building an extension that displays walkthrough content from an XML file directly in the editor as green boxes.
http://code.msdn.microsoft.com/extensionHoL2009
Highlight Word
This is a sample extension to the Visual Studio 2010 Editor that uses tagging and adornments to highlight all occurrences of the word currently under the caret.
http://code.msdn.microsoft.com/highlightword
Caret Fish Eye
This is a sample extension to the Visual Studio 2010 Editor that visually shrinks lines that are farther away from the caret.
http://code.msdn.microsoft.com/caretfisheye
Hyperlink Extension
This is a sample Visual Studio 2010 extension that provides syntax-highlighting for hyperlinks as well as the ability to ctrl-click on the link.
http://code.msdn.microsoft.com/hyperlinksample
Diff Classifier
This is a sample Visual Studio 2010 Classifier that provides syntax highlighting for standard diff/patch files.
http://code.msdn.microsoft.com/diffclassifier
More samples, walkthroughs, and guidelines for Visual Studio 2010 Beta 1 are available on our VSX code gallery site.
Try out the new editor samples and let us know what you think!
- How do I create and share a template on the Visual Studio Gallery?
-
One of the questions we've been getting from developers is, "How do I build a project or item template?"
Our Dev lead, Pedro Silva put together four great blogs on how to create, build, and share your template on the Visual Studio Gallery.
Creating an Item Template:
The blog posts are about creating an item template but the steps are very similar if you want to create a project template.
Take a look at his detailed blog post and start building your own templates! :)
- Visual Studio 2010 Beta 1 SDK Documentation is now available!
-
The Visual Studio 2010 Beta 1 SDK documentation just got released! You can access it from here:
http://msdn.microsoft.com/en-us/library/bb166441(VS.100).aspx
There's still a lot more to cover but this set of docs will get you started with what's changed in VS 2010. The team will also continue to blog on this site and our own personal blogs about other cool extensibility features so keep an eye out for that.
- Tangible T4 Editor for VS 2010 Beta 1
-
The announcements keep coming. :)
The Tangible T4 Editor is now available for VS 2010 Beta 1. The timing is perfect as it's available on the same day as the Visual Studio 2010 DSL SDK Beta 1.
Try out the T4 Editor when working with your VS 2010 DSLs. You can download the T4 Editor from the Visual Studio Gallery or look for it in the Extension Manager Online tab.
- Microsoft Visual Studio 2010 DSL SDK Beta1 is now available!
-
The Microsoft Visual Studio 2010 DSL SDK Beta1 has just shipped and is available for download!
If you're interested in Domain Specific Languages and want to use tools to build your own DSLs, download it and try it out. You will need the Visual Studio 2010 Beta 1 bits and the Visual Studio 2010 SDK Beta1 installed first.
The DSL team also launched their code gallery site which contains more information and samples to get you started with DSLs.
- Announcing the Visual Studio 2010 SDK Beta 1
-
I'm excited to announce the availability of the Visual Studio 2010 SDK Beta 1!
The Visual Studio 2010 SDK Beta 1 provides the tools and templates necessary to build your own extensions to Visual Studio 2010 Beta 1. The SDK will allow you to create extensions using C#, Visual Basic, or C++ and provides the tools to package up your extension to share on the Visual Studio Gallery.
Once you share your extension, anyone with Visual Studio 2010 Beta 1 will be able to see it and download it through our newest feature, the Extension Manager.
What’s in the Beta 1 SDK?
The Visual Studio 2010 SDK contains several new features to help you develop Visual Studio Extensions. The new features include:
- The Visual Studio Integration Package Template to create WPF Tool Windows and menu commands
- A new set of Editor extension templates to build extension to the Visual Studio 2010 Editor
- New build tasks to create a VSIX Manifest and a VSIX container. You can upload your VSIX container to the Visual Studio Gallery and share your extension with the world
- A new VSIX manifest editor is available for editing your extension manifest.
- An empty VSIX project is available for building just a VSIX container. This is useful if you're packaging projects or templates that have already been built but need to be packaged up as a VSIX.
What's Changed?
- The DSL design time tools have moved outside of the SDK. A shortcut to download the DSL tools is available on the Start Menu.
- The SDK samples are now online only on the Visual Studio Code Gallery. A short cut to the gallery is available on the Start Menu.
- The SDK documentation is now online only. A short cut to the documentation is available on the Start Menu.
What’s after Beta 1?
There’s still work to be done. We are always striving to improve the Visual Studio extension building experience and will be working on the following:
- Improve the VSIX editing experience
- Add additional project templates for building extensions
- Create additional tools to help in building and debugging extensions
- Continue to build additional samples targeting Visual Studio 2010
- Visual Studio 2010 Beta 1 Start Page Customization
-
My name is Adrian Collier and I am the Program Manager responsible for the Start Page in the Visual Studio. One of the coolest things we can do in this release is to create custom start pages using WPF. This post details how to get up and running with this feature, along with some warnings on how this feature will be changing.

Process for using the custom Start Page feature:
1. Create a folder called ‘startpages’ in you’re my documents -> Visual Studio 10 folder.
2. Copy the contents of this folder : \Program Files\Microsoft Visual Studio 10.0\Common7\IDE\StartPages\en into your new start pages folder.
3. Load Visual Studio.
4. Go to Tools->Options->Start up and check the box to Allow Custom Start Pages.

5. Edit the StartPage.xaml file using Visual Studio – when you save any changes to the file, the start page in Visual Studio should update automatically.
Customization Warnings
We are changing the start page to use standard ‘out of the box’ WPF controls post Beta 1 so rather than having VS specific controls, such as the Tray Control we will be using a Styled Tab Control.
These Controls will be removed:
· <vs:Tray >
· <vs:TrayGroup>
· <vs:TrayGroupItem>
· <vs:RssRotator>
We will also be revising the resources we have defined in the page, so the advice is do not take any dependencies with the controls or resources that are provided in Beta 1.
Post beta 1 we will be consuming the shell functionality to detect if the page is being shown on remote desk top, allowing start page authors to tailor their pages to suite low color and low bandwidth scenarios, as well as responding to windows theme colors such as the High Contrast color setting.
An example of tying into the rendering capabilities property is shown below.
<DataTrigger Binding="{Binding Source={x:Static vs:EnvironmentRenderCapabilities.Current}, Path=AreAnimationsAllowed}"
Value="False">
</DataTrigger>
As this is essentially a WPF application inside Visual Studio, you can write all kinds of cool UI, however be careful with Styles and Dynamic templates, as errors will not be detected until runtime this can cause exceptions which will result in Visual Studio crashing. If this happens
· You can try and fix the problem by editing the file in notepad or another text editor
Or
· Rename the file, so you can get visual studio running again, then open the file in Visual Studio to try and locate the issue.
·
Example Page
Here is an example of a custom start page I created, I’ve tried to include only items which we will be keeping in the Beta 2 version of the Start Page, this is just a quick and simple page which provides access to the recent projects and the ability to launch the Open and New project commands.

I’ve used the ‘Recent Projects’ control which was originally referenced in the Tray control via the inner content property. There will be updates to this control post Beta 1, primarily focusing the changes to the visualization of the items in the list. We plan to provide this control going forward from Beta 1 to RTM.
vsi:RecentProjects Width="Auto" Margin="0,15,0,0" Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Left" Height="Auto" />
This control is located in the ShellUI.Internal dll, so you should add this to the solution references, it is located under this path:
\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.VisualStudio.Shell.UI.Internal.dll
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vs="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.UI"
xmlns:vsi="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.UI.Internal"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
>
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF4B658F" Offset="0"/>
<GradientStop Color="#FF516C97" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Grid.Resources>
<!-- Adding an inline style which shows both a text caption and the image for the button, with minimal state change for mouse over -->
<Style TargetType="{x:Type vs:ImageButton}">
<Setter Property="Focusable" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type vs:ImageButton}">
<StackPanel Orientation="Vertical">
<Image Source="{Binding ImageNormal, RelativeSource={RelativeSource TemplatedParent}}"/>
<TextBlock Text="{TemplateBinding Content}" Foreground="White" Margin="0,8,0,0" VerticalAlignment="Center" />
</StackPanel>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Cursor" Value="Hand" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<!-- Logo-->
<RowDefinition Height="95" />
<!-- Main Content Area -->
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- Logo -->
<Image Grid.Row="0" Grid.Column="0" Style="{DynamicResource {x:Static vs:StartPageResourceKeys.LogoImageStyleKey}}" />
<Grid Grid.Column="0" Margin="15,15,0,15" VerticalAlignment="Stretch" Grid.RowSpan="1" Grid.Row="1" >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <!-- Command Buttons for New Projects -->
<RowDefinition Height="*"/> <!-- MRU Row -->
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" Grid.Row="0">
<!-- Examples of using the built in Image Button Class, unfortunately there are no additional New and Open Icons as part of the Beta 1 page, however you can see from this example how you can change the image source for each state -->
<vs:ImageButton Content="New Project"
Margin="20,0,20,0"
Command="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter="File.NewProject"
ImageNormal="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;component/Images/StartPage/07_newproject.png"
ImageHover="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;component/Images/StartPage/07_newproject.png"
ImagePressed="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;component/Images/StartPage/07_newproject.png">
</vs:ImageButton>
<vs:ImageButton Content="Open Project"
Margin="20,0,20,0"
Command="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter="File.OpenProject"
ImageNormal="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;component/Images/StartPage/06_openproject.png"
ImageHover="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;component/Images/StartPage/06_openproject.png"
ImagePressed="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;component/Images/StartPage/06_openproject.png">
</vs:ImageButton>
</StackPanel>
<!-- this control does not play nice with the WPF designer, this will be fixed in Beta 2, comment this control out if you wish to use the designer-->
<vsi:RecentProjects Width="Auto" Margin="0,15,0,0" Grid.Row="1" VerticalAlignment="Stretch" HorizontalAlignment="Left" Height="Auto" />
</Grid>
</Grid>
Thanks for your time. We will follow this up with a post about custom assemblies with the start page.
-Adrian
- Visual Studio 2010 Beta 1
-
We shipped Visual Studio 2010 Beta 1!
The Beta 1 bits shipped on MSDN yesterday and will be available for general consumption Wednesday morning.
You'll be able to get more information about Visual Studio 2010 and the download locations here our Product Page.
For a list of some of the cool features we've added to Visual Studio 2010 Beta 1, take a look at Jason Zander's blog.
The Visual Studio 2010 Beta 1 SDK will also be released this week. Once that's available, we'll provide a link on this blog.
We'll be dusting off the cob webs on this blog and start adding more Beta 1 content in the coming weeks to help you get familiar with all the new features.
Go ahead and start downloading Visual Studio 2010 Beta 1 tomorrow morning and let us know what you like and what we can improve on.
- The Visual Studio 10 CTP VPC expired! What should I do?
-
A couple of months ago, we unveiled Visual Studio 10 at several conferences and provided attendees a copy of a VPC with Visual Studio 10. We also made the CTP available here.
Thanks to a lot of partners, customers, and hobbyists, we got a ton of great feedback on our bits and look forward to hearing more from the community. Unfortunately, the CTP came with a timebomb and expired at the end of 2008. We have not shipped another CTP since then so if you still want to play with the CTP VPC but have run into the expiration problem, follow the steps in Jeff Beehler's blog to disable the synchronization between your VPC and the host machine, then turn back the clock :)
- Happy New Year
-
Happy New Year!
Our team blog has been quiet recently mainly with several changes on our team and vacations but we'll all be back January 5th, ready for a new year, and ready to continue making extending Visual Studio easier for all our customers.
2009 will be a great year as we start the year working on the next Visual Studio SDK and of course, Visual Studio 10 Beta. In the next few blogs, we will start looking at some of the new Visual Studio 10 features that we're adding to the platform and the changes for the SDK.
For now, we want to wish you all a Happy New Year and we're looking forward to helping you build Visual Studio extensions in 2009!
-Quan
- DSL Tools Lab is now on Code Gallery
-
We've received feedback that there's sometime not enough or too much information out there for learning how to extend Visual Studio. One of the ways we want to help is to start consolidating a lot of that information and have tutorials and easy starting points for new developers to our technology.
One of the more powerful and potentially intimidating areas is Domain Specific Languages (DSL). There's a lot of documentation out there, videos, and even a book written by four of our team members. However, it's hard to find a place online to start from scratch.
Jean-Marc, one of our Program Manager just posted an end to end lab on Domain Specific Languages on Code gallery. The URL is here
Take a look at the lab and let us know if it helped you learn DSLs.
-Quan
- Visual Studio 2010 CTP is available!
-
We unveiled a glimpse of the Visual Studio 2010 new features at the Professional Developer's Conference last week. If you were unable to attend, you can download the Visual Studio 2010 Customer Technology Preview from here. The CTP is quite big, it's 7 Gigabytes and includes Team Foundation Server features as well as Visual Studio 10 and the Visual Studio 10 SDK.
After installing the CTP, take a look at the Walkthrough document (How to use Visual Studio 2010 CTP.docx). The document contains the walkthroughs of the currently working features inside Visual Studio and will give you a first hand view of some of the new and exciting things in the next Visual Studio release.
In addition to the walk throughs, we've provided several samples for extending the new Editor. The Editor itself is built on top of the new Managed Extensibility Framework. We will continue providing more samples in the coming weeks to help you learn more about the new Editor and the extensibility points available.
The Visual Studio 2010 SDK is also buried in the documents folder under c:\Users\public\documents\CTPWalkthroughs\Visual Studio\SDK. It is a bare bones SDK mainly for supporting the Editor walkthroughs. We are still working on our plans for the Visual Studio 2010 SDK and have only shipped minimal pieces in the SDK. We will have a fully functional SDK at our next release.
When you first launch Visual Studio, the first thing you'll notice is our new Start Page. The start page is clean, not as cluttered as the old one, and provides a great starting point to create projects, load existing projects, launch the walkthrough, or send feedback. We've kept the RSS feeds but have toned it down and it appears as a rotating banner on the bottom of the start page.

In the coming weeks, we'll continue to blog more about Visual Studio 10 and the Visual Studio 10 SDK.
Stay tuned. :)
-Quan
- Russian Integrated and Isolated Shells for Visual Studio 2008
-
The localization team in Visual Studio have been hard at work adding a new localized language to the suite of languages that Visual Studio Supports. I'm proud to annouce that the Russian edition of Visual Studio has just been released which includes a Russian Integrated Shell and Russian Isolated Shell.
Prior to Russian, we supported 9 languages:
- English
- French
- German
- Italian
- Spanish
- Korean
- Japanese
- Chinese Simplified
- Chinese Traditional
In additional to just the shells, we also shipped all the other Visual Studio products including the .NET Framework language packs in Russian. If you want to try out the trial edition, check out the links to the other Visual Studio editions here.
Have fun writing code with a Russian Visual Studio editor :)
-Quan
- VSX Talk at the PDC
-
I just got the session info for Tim Wagner's talk at the PDC next week. Tim is our development manager on the VS Platform team. We're all pretty excited about this talk and I promise you won't be disappointed by the content that will be presented.
Here's more information about his talk:
TL32 Microsoft Visual Studio: Customizing and Extending the Development Environment
Thursday 10/30 10:15 - 11:30 in 404A
The next version of Visual Studio moves beyond add-ins and packages to unleash powerful new ways to customize and extend the environment. Learn about the Visual Studio extension model-built on a common Microsoft .NET extensibility framework--that makes it easy to customize Visual Studio in new ways. See how to create extensions for the new code editor and project system, and hear how to build your own graphical designers and specialized development environments.
Here's Tim's Bio from the PDC site:
Dr. Wagner is a former Eclipse board member and lead of the Eclipse Web Tools Platform, now working with the Visual Studio platform team to enhance the Visual Studio product line with extensible technologies and to exploit WPF to create new user interaction scenarios. His interests include IDEs, compiler front ends, and the creation of extensible platforms and APIs.
Make sure you check out Tim's talk if you're at the PDC next week.
-Quan
- Conference Videos, PDC, and Tech Ed
-
Hi Everyone,
Sorry for the delay but the videos from our VSX Developer Conference last month are now up on Channel 9! The session list has direct links to the talk so for those who missed our conference or want to take a second look at the talks, check them out. Huge thanks to Anthony for taking the time to get them uploaded.
For those going to the PDC, make sure you check out our Dev Manager, Tim Wagner's talk on the Visual Studio Platform. Tim will also be presenting at Tech Ed EMEA in Barcelona in November so if you're going to either conference, I highly encourage you to attend and learn more about what we're doing with Visual Studio Extensibility.
We will also have a Visual Studio Platform/Extensibility booth at the PDC. Nathan Halstead, one of our Program Managers on the extensibility and platform team will be there to answer questions and help you understand more about extending VS.
Enjoy the videos and hopefully you'll be able to chat with Tim or Nathan at the PDC or Tech Ed.
-Quan