Добрый день.
Сегодня, установив новую «феничку» для студии захотелось попробовать самому поэкспериментировать с расширениями для студии. Строить мы будем расширение для стартовой страницы VS. Для того чтобы вообще возможно было делать расширения нужно установить Visual Studio 2010 SDK
В чистом SDK нет шаблонов проекта для создания стартовой страницы. Хотя можно вручную создать xaml страницу и заменить ее в директориях где установлена студия. Но тогда нельзя делиться своим расширением и можно ли это назвать расширением? На помощь приходит Custom Start Page Project Template Этот шаблон позволяет очень быстро и просто создавать свои собственные страницы приветствия (да еще и как).
Итак, как делать своё расширение для стартовой страницы Visual Studio 2010
После установки всех SDK и шаблонов проекта, создаем новый проект CustomStartPage
Шаблон изначально генерирует стандартные элементы стартовой страницы и новую вкладку с нашим контролом. StartPage — это файл с xaml разметкой который мы можем поменять как хотим. Проект создан с разметкой и цветовой схемой как в оригинальной VS. Вот так выглядит проект после создания и наш контрол, который мы будем наполнять тем чем хотим.
В разметку MyControl.xaml пишем код разметки Rss Reader’а
Все очень просто. Декларативно размечаем кто и что будет показывать.
На этом программирование заканчивается. И мы видим уже готовый элемент управления, прямо в окошке редактирования разметки.
После установки VS SDK этот проект будет запускаться и устанавливаться в специальной версии VS – «Экспериментальный экземпляр». После того, как мы проверили все настройки и все установки — снять галочку “Deploy VSIX content to experimental instance for debugging” и после этого собранное расширение будет устанавливаться уже в рабочую VS.
Сохранив настройки и собрав версии проекта, можем смело ее установить. На выходе проект компилируется в расширение Visual Studio HabrStartPage.vsix. Установив расширение мы получим возможность наслаждаться новыми статьями хабра прямо с главной страницы VS. Для того, чтобы заменить StartPage после установки на нашу страницу, нужно в настройках изменить страницу вот так
И получим довольно симпатичный РСС ридер, с возможностью посмотреть статью прямо на странице VS.
А после установки наше расширение появится в списках расширений.
Целью этой статьи было показать как просто делать свои расширения для Visual Studio 2010. На стартовую страницу можно повесить все что хочешь, а можно просто перекрасить страницу. В интернете полно маленьких и не сложные, а также больших и серьезных дополнений для VS. Теперь мы умеем делать это сами.
Расширение можно скачать с Visual Studio Gallery
Visual Studio 2010 SDK
Custom Start Page Project Template
Сегодня, установив новую «феничку» для студии захотелось попробовать самому поэкспериментировать с расширениями для студии. Строить мы будем расширение для стартовой страницы VS. Для того чтобы вообще возможно было делать расширения нужно установить Visual Studio 2010 SDK
В чистом SDK нет шаблонов проекта для создания стартовой страницы. Хотя можно вручную создать xaml страницу и заменить ее в директориях где установлена студия. Но тогда нельзя делиться своим расширением и можно ли это назвать расширением? На помощь приходит Custom Start Page Project Template Этот шаблон позволяет очень быстро и просто создавать свои собственные страницы приветствия (да еще и как).
Итак, как делать своё расширение для стартовой страницы Visual Studio 2010
Подготовка
После установки всех SDK и шаблонов проекта, создаем новый проект CustomStartPage
Шаблон изначально генерирует стандартные элементы стартовой страницы и новую вкладку с нашим контролом. StartPage — это файл с xaml разметкой который мы можем поменять как хотим. Проект создан с разметкой и цветовой схемой как в оригинальной VS. Вот так выглядит проект после создания и наш контрол, который мы будем наполнять тем чем хотим.
Разметка
В разметку MyControl.xaml пишем код разметки Rss Reader’а
<UserControl x:Class="HabrStartPageControl.MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:vsfx="clr-namespace:Microsoft.VisualStudio.Shell;assembly=Microsoft.VisualStudio.Shell.10.0"
mc:Ignorable="d" d:DesignHeight="414" d:DesignWidth="690">
<UserControl.Resources>
<XmlDataProvider x:Key="rss" Source="http://habrahabr.ru/rss/new/" XPath="/rss/channel"/>
</UserControl.Resources>
<!-- Start Page controls can use VsBrushes color table resources. -->
<Grid Background="{DynamicResource {x:Static vsfx:VsBrushes.StartPageBackgroundKey}}">
<Border Margin="20" CornerRadius="10" BorderThickness="3" BorderBrush="{DynamicResource {x:Static vsfx:VsBrushes.StartPageSeparatorKey}}">
<DockPanel Background="#FFFFFF" DataContext="{Binding Source={StaticResource rss}, XPath=/rss/channel/item}">
<Label DockPanel.Dock="Top" Content="{Binding XPath=/rss/channel/title}" FontSize="14" FontWeight="Bold"/>
<ListBox DockPanel.Dock="Left" ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" Width="300">
<ListBox.ItemContainerStyle>
<Style>
<Setter Property="Control.Padding" Value="0"></Setter>
<Style.Triggers>
<Trigger Property="ListBoxItem.IsSelected" Value="True">
<Setter Property="ListBoxItem.Background" Value="#EEEEEE"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="3">
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<TextBlock FontWeight="Bold" Text="{Binding XPath=title}"></TextBlock>
<TextBlock Grid.Row="1" Foreground="#8FACBA" Text="{Binding XPath=author}"></TextBlock>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Frame Source="{Binding XPath=link}"/>
</DockPanel>
</Border>
</Grid>
</UserControl>
* This source code was highlighted with Source Code Highlighter.
Все очень просто. Декларативно размечаем кто и что будет показывать.
На этом программирование заканчивается. И мы видим уже готовый элемент управления, прямо в окошке редактирования разметки.
После установки VS SDK этот проект будет запускаться и устанавливаться в специальной версии VS – «Экспериментальный экземпляр». После того, как мы проверили все настройки и все установки — снять галочку “Deploy VSIX content to experimental instance for debugging” и после этого собранное расширение будет устанавливаться уже в рабочую VS.
Установка
Сохранив настройки и собрав версии проекта, можем смело ее установить. На выходе проект компилируется в расширение Visual Studio HabrStartPage.vsix. Установив расширение мы получим возможность наслаждаться новыми статьями хабра прямо с главной страницы VS. Для того, чтобы заменить StartPage после установки на нашу страницу, нужно в настройках изменить страницу вот так
И получим довольно симпатичный РСС ридер, с возможностью посмотреть статью прямо на странице VS.
А после установки наше расширение появится в списках расширений.
Заключение
Целью этой статьи было показать как просто делать свои расширения для Visual Studio 2010. На стартовую страницу можно повесить все что хочешь, а можно просто перекрасить страницу. В интернете полно маленьких и не сложные, а также больших и серьезных дополнений для VS. Теперь мы умеем делать это сами.
Расширение можно скачать с Visual Studio Gallery
Visual Studio 2010 SDK
Custom Start Page Project Template