技术开发 频道

Visual Studio 2010 的自定义开始页

  【IT168 专稿】一学生爬墙出校,被校长抓到了。校长问:为什么不从校门走?答曰:美特斯邦威,不走寻常路。校长又问:这么高的墙怎么翻过去的啊?他指了指裤子说:李宁,一切皆有可能。校长再问:翻墙是什么感觉?他指了指鞋子说:特步,飞一般的感觉。

  校长大怒,说我要记你大过。学生问:为什么?校长说:动感地带,我的地盘我做主。

  第一篇:Visual Studio 2010 下一个Visual Studio 6.0

  第三篇:Visual Studio 2010中的多显示器支持

  第四篇:Visual Studio 2010中的调用继承树

  第五篇:C# 4.0中的动态类型和动态编程

  第六篇:使用Visual Studio 2010的特性支持TDD 

  第七篇:Visual Studio 2010特性支持Office

  第八篇:Visual Studio 2010的Quick Search特性 

  第九篇:Visual Studio 2010中的C++0x新特性

  第十篇:Visual Studio 2010中的C++ IDE增强

  第十一篇:使用Visual C++ 2010创建Ribbon界面

  第十二篇:Visual C++ 2010创建Ribbon界面(下)

  第十三篇:Visual Studio 2010与VS2008全面比较

  在讲求个性化的今天,什么都要求个性化,自定义,都强调一个大大的i。所以这才有了iGoogle的自定义页面,Windows Live的自定义个性主页。作为程序员们天天使用的开发工具Visual Studio,为了顺应这种自定义、个性化的潮流,也引入了自定义开始页的功能。

  Visual Studio 2010的开始页由一个StartPage.xaml文件控制,通过编辑这个文件,我们可以在我们的这“一亩三分地”上任意耕种,我们可以添加内容,添加按钮执行某些功能,甚至可以添加一些自定义的控件完成一些特殊的任务等等。总之,自定义的开始页很好很强大,可以说,自定义开始页是Visual Studio 2010带个程序员们的一份见面礼。下面是Visual Studio 2010默认的开始页,其中我们可以查看新闻,打开项目文档,反馈问题,打开项目等等。

 

图1 Visual Studio 2010的默认开始页

  俗话说,好的开始是成功的一半。自定义开始页是如此强大,可以帮助我们完成很多常见的任务,给我们的开发工作带来极大的便利。下面我们就来对开始页进行一些自定义,完成一些特殊的功能。

  1. 创建一个开始页文件StartPage.xaml

  我们可以从零开始创建一个开始页文件StartPage.xaml,但是更省力的方法是利用Visual Studio 2010给我们提供的开始页模板,直接在上面修改以形成我们自己的自定义开始页。

  从Visual Studio 2010的安装目录下<Visual Studio installation path>\Common7\IDE\StartPages\en\,复制StartPage.xaml和StartPage.csproj 到用户目录..\<documents folder>\Visual Studio 10\StartPages\。如果你的用户目录下没有这个文件夹,则需要自己创建。

  当Visual Studio 2010启动的时候,会查找用户目录下的StartPage.xaml文件。如果这个文件存在,就加载这个用户自定义的开始页;如果文件不存在,则使用系统默认的开始页。

  2. 删除一个功能按钮
 
  通过编辑StartPage.xaml文件,我们可以在开始页上删除或者添加功能按钮,以执行某些自定义的命令。下面我们首先来看看如何删除一个按钮,使得开始页更加简洁一些。
利用Visual Studio 2010打开我们上一步复制过来的项目StartPage.csproj,然后找到项目中的StartPage.xaml文件,注释掉其中的如下代码:

<!-- <vs:TrayGroupItem Content="CTP Walkthroughs" ImageSource="pack://application:,,,/Microsoft.VisualStudio.Shell.UI;Component/Packages/StartPage/Images/02_ctpwalkthroughs.png" Command="{x:Static vs:StartPageToolWindow.ExecuteCommand}" CommandParameter="{StaticResource Links.CTPWalkthroughs}" x:Uid="Walkthroughs_Item" />

  保存修改后的StartPage.xaml后,当我们重新启动Visual Studio 2010,我们就可以发现开始页中间的“CTP Walkthroughts”按钮已经消失了。看看,自定义开始页面就是这么简单。  

  3. 添加一个功能按钮
 
  要在开始页上添加一个按钮也非常简单,只要按照开始页模板中代码添加自己的功能就可以了。复制如下的代码到刚才我们注释掉的代码前面,就可以添加一个功能按钮了:

<vs:TrayGroupItem Content="Create GUID"
ImageSource
="C:\Users\Public\Documents\CTPWalkthroughs\Visual Studio\Samples\Start Page\Heart.png"
Command
="{x:Static vs:VSCommands.ExecuteCommand}"
CommandParameter
="Tools.ExternalCommand1" />

  这段代码可以创建一个功能按钮,点击这个按钮后,将执行Tools菜单中定义的第一个外部功能,默认情况下是创建GUID的工具。当然,在这里我们还可以执行很多命令,例如创建新项目,复制文件等等。至于更加具体的命令,大家可以参考MSDN。


图2 添加创建GUID的按钮

 4. 创建用户控件

  在前面的文章中,我们介绍了如果创建一个自定义开始页,以及如何在其中删除添加按钮。实际上更加重要的是,开始页可以支持自定义的用户控件,以完成更加复杂的任务。下面我们就介绍如何在开始页中添加一个自定义用户控件,来订阅此我的blog“有間客栈”的RSS。

   • 创建控件项目
  在我们刚刚使用的StartPage解决方案中,添加一个Visual C#项目imccBlog,项目模板选择WPF User Control Library。项目创建完成后,为项目添加下列dll的引用:
  C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.VisualStudio.Shell.UI.dll

  通过添加此dll的引用,我们可以在XAML中执行Visual Studio的内部命令。
 
  • 编辑UserControl1.xaml
  编辑UserControl1.xaml的内容如下,以读取RSS并显示在开始页中:

<UserControl x:Class="imccBlog.UserControl1"
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">
    
<Grid>
        
<Grid.Resources>
            
<XmlDataProvider x:Key="imccBlog" XPath="rss/channel" Source="http://imcc.blogbus.com/index.rdf" />
        
</Grid.Resources>
        
<Border BorderBrush="Black" BorderThickness="1" CornerRadius="10" Padding="4" Margin="0,0,0,10" >
            
<ItemsControl DataContext="{StaticResource imccBlog}" ItemsSource="{Binding XPath=item}" BorderBrush="Transparent" Padding="6" >
                
<ItemsControl.ItemTemplate>
                    
<DataTemplate>
                        
<TextBlock Margin="0,0,0,6">
                            
<Image Source="C:\Users\Public\Documents\CTPWalkthroughs\Visual Studio\Samples\Start Page\greendot.png" Height="10" Margin="0,0,5,0" />
                            
<Hyperlink Foreground="White" Command="{x:Static vs:VSCommands.Browse}" CommandParameter="{Binding XPath=link}">
                        
<TextBlock FontSize="12" Text="{Binding XPath=title}" /></Hyperlink></TextBlock>
                    
</DataTemplate>
                
</ItemsControl.ItemTemplate>
            
</ItemsControl>
        
</Border>
    
</Grid>
</UserControl>

  • 编译并复制到目标路径
  完成代码的编辑后,我们编 译这个新的控件项目,然后将编译结果imccBlog.dll复制到..\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\StartPageAssemblies\下. (如果没有此目录,则创建此目录),这样,这个新创建的用户控件就可以被StartPage.xaml使用了。

  • 使用新控件
  跟前面介绍的添加按钮的方法一样,我们编辑StartPage.xaml文件,添加如下的代码创建一个按钮,当点击这个按钮后,Visual Studio将访问用户控件中定义的RSS源,并在开始页中显示出来。

<vs:TrayGroupItem Content="imcc's Blog"                                  
ImageSource
="http://www.microsoft.com/china/community/images/MVPs/chenliangqiao.jpg"
InnerContentUri
=" imccBlog;Component/UserControl1.xaml" />

  班级完成后,整个开始页的效果如下图所示。欢迎感兴趣的朋友订阅此Blog :) 



图3 通过开始页订阅RSS
 

  通过上面的演示,大家是不是已经对Visual Studio 2010的自定义开始页有了深刻的印象呢?以前我们只是被动地使用微软给我们定义好的Visual Studio,现在,通过自定义开始页,可以让我们的Visual Studio更加个性,更加便利。在Visual Studio开始页的这块地盘上,我们也可以当家作主了!

  恩,赶紧把女友的照片放到开始页上!

0
相关文章