The VSX Team Blog Is Moving!

We aren’t going away -- we’re just moving to a better home. To give you even more news, articles, and walkthroughs on Visual Studio, the VSX Team blog is moving to become part of The Visual Studio Blog.  As part of The Visual Studio Blog, we’ll be joining the rest of the Visual Studio Platform Team in blogging not only about Visual Studio extensibility, but other topics such as the core IDE and UI, the editor, the project system, MSBuild, and more. 

So please make sure to update your RSS readers to our new home. 

See you all at the new blog location – http://blogs.msdn.com/visualstudio!

Visual Studio 2010 Beta 2 and the Visual Studio 2010 Beta 2 SDK are available on the download center!

The Visual Studio 2010 Beta 2 bits went live this morning for everyone!

You can get access to all our Beta 2 products from the following website: http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx

The SDK is also available from that location.  Start using it and we're looking forward to seeing your extensions on the Visual Studio Gallery.

 

Posted 21 October 09 11:30 by vsxteam | 0 Comments   
Filed under ,
Announcing Visual Studio 2010 Beta 2

Visual Studio 2010 Beta 2 just released moments ago!

After taking a lot of feedback, suggestions, and fixing a ton of bugs, along with improving the performance, we just released a solid Beta 2.

MSDN subscribers will be able to download Beta 2 today and on Wednesday, it will be available for general download on the Microsoft Download Center.  The Visual Studio 2010 Beta 2 SDK is also available and can be downloaded from the same MSDN location. 

Additionally, we've updated the Visual Studio Gallery.  Check out the new branding and the look and feel!

 

Visual Studio 2010 SDK Beta 2 Readme

Visual Studio 2010 SDK Beta 2 Supplemental Readme

The Visual Studio 2010 Beta 2 Documentation is available here.

The DSL Tools for Beta 2 is available here.

This posting contains additional readme and known issues about the Visual Studio 2010 SDK Beta 2 release.  These are in addition to the known issues that were included in the installation of the Visual Studio 2010 SDK Beta 2.

 

ISSUE: Building a project that generates a VSIX file fails when including a large file in the project.

WORK AROUND: This happens when a file greater than 10 MB is added to the project and marked to be included in the VSIX.  To work around the issue, build your solution using MSBuild from the commandline.  This issue will be fixed in the release after Beta 2.

 

ISSUE: Creation of a Custom Editor with uppercase unicode letters in the project name fails.

WORK AROUND: To work around this issue, avoid using only uppercase unicode letter in the project name.

 

ISSUE: Isolated shell projects display unnecessary item templates without an icon. 

WORK AROUND: There is no work around to this issue.  The item templates are benign and do not affect the Isolated Shell.

 

ISSUE: Deleting Project or Item templates through the Manifest Editor does not remove the template from the VSIX output.

WORK AROUND: To work around this issue, manually remove the template zip file in your project when removing the Project or Item template through the manifest editor.

 

ISSUE: The copy build task in the VSSDK.targets file copies the project or item templates to the Local Application Data location instead of the bin/debug folder. 

WORK AROUND: If the desired output location is the bin/debug folder and not the Local Application Data folder, follow these steps:

1. Disable copying to Local Application Folder by updating the project file:

<DeployVSTemplates>false</DeployVSTemplates>

2. To enable copying to bin/debug, add the following to the project file:

<PropertyGroup>

<CreateVsixContainerDependsOn>$(CreateVsixContainerDependsOn);GetMyTemplates</CreateVsixContainerDependsOn>

</PropertyGroup>

<Target Name="GetMyTemplates">

<ItemGroup>

<VSIXSourceItem Include="@(IntermediateZipItem)">

<VSIXSubPath>SharePoint\2010\1033\</VSIXSubPath>

</VSIXSourceItem>

</ItemGroup>

</Target>

 

 

ISSUE: Unable to add a reference to your existing VSIX project through the manifest designer.

WORK AROUND: This issue occurs when a developer tries to add a new assembly to their VSIX project and uses the manifest designer to reference the same project.  To work around this, add the new assembly in a separate project and reference that through the manifest editor.  This issue will be fixed in the first release after Beta 2.

ISSUE: Unable to use Createpkgdef to generate a pkgdef file from registration attributes.

WORK AROUND: When using registration attributes in your code to auto generate a pkgdef file, you will need to add the registration attribute code found in the MPF Sources in your VS SDK install.  The source can be found in the VS SDK installation folder under VisualStudioIntegration\Common\Source\CSharp\RegistrationAttributes.

ISSUE: Unable to edit a xaml file.

WORK AROUND: The reference assemblies installed by the Visual Studio SDK are a slimmed down version of the full reference assemblies.  When editing a xaml file, this mismatch may cause the editor to not allow users to edit their files xaml files inside of VS.

To workaround this issue, copy the reference assemblies that your project requires into the Global Assembly Cache.

 

ISSUE: UI DLLs do not get copied to the correct folder for C++ projects.

WORK AROUND: When building a C++ project (including the Visual Studio Isolated Shell), the UI DLL does not get copied to the locale specific folder (such as \1033).  This causes the menu items of the packages to now appear in the Visual Studio IDE. 

To workaround this issue, manually copy and deploy your UI.DLL into the locale specific folder.

 

ISSUE: Visual Studio 10 Beta 2 may fail to load some MEF assemblies that are installed as part of a VSIX.  This issue affects MEF assemblies defining new types that are used in MEF metadata.  For example, an extension defining its custom text tag derived from the Visual Studio 2010 Editor's TextMarkerTag type.

WORK AROUND: Create a .pkgdef file and place it in the same folder where the MEF assembly is located.  Add the following two lines to the pkgdef file and replace the {GUID} part with any unique GUID.  Then restart Visual Studio.

[$RootKey$\BindingPaths\{guid}]

"$PackageFolder$"=""

 

Posted 15 October 09 01:09 by vsxteam | 0 Comments   
Filed under ,
How do I convert my Beta 1 VSIX manifest to Beta 2?

We received a lot of feedback from the community and other developers about the Extension Manager VSIX manifest and made some changes in Beta 2.  Some of the changes included:

  • Making the schema less strict so elements don't need to be in a particular order
  • Following XML standard casing
  • Clearing up ambiguity about supported VS editions and products since the manifest works for isolated shell applications as well
  • Adding support for per machine installations (remember, per user installs are still preferred and a better user experience for customers getting your extension)
  • Adding version info for the VSIX manifest 
  • and lots of little changes to make things easier and better.

Ofcourse, these changes will require you to update your Beta 1 manifest files.  Instead of manually tweaking your XML, we've built a nifty cool VSIX Manifest Converter tool to help you move your Beta 1 manifest to Beta 2.

 The tool is attached to this blog post.  To use it, just run the exe in the directory where your VSIX or extension.vsixmanifest file is.  The tool will automatically convert the manifest.  If you have a VSIX, it'll crack open the VSIX, update the manifest and repackage your VSIX.

 

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!

Posted 17 June 09 08:07 by vsxteam | 2 Comments   
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! :)

Posted 08 June 09 04:58 by vsxteam | 1 Comments   
Filed under ,
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 2

The Tangible T4 Editor is now available for VS 2010 Beta 2.  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.

Posted 22 May 09 09:16 by vsxteam | 1 Comments   
Filed under , ,
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

 

 

Posted 21 May 09 09:25 by vsxteam | 7 Comments   
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.

clip_image002

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.

clip_image004

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.

clip_image006

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

 

Posted 20 May 09 11:57 by vsxteam | 7 Comments   
Filed under
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.

 

Posted 19 May 09 04:10 by vsxteam | 0 Comments   
Filed under ,
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 :)

Posted 07 January 09 08:53 by vsxteam | 1 Comments   
Filed under
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

Posted 02 January 09 09:07 by vsxteam | 1 Comments   
Filed under
More Posts Next page »
Page view tracker