VS2010新体验之自定义开始页



------
呃,看起来有点麻烦
------
没什么用
------
VS2010 Beta2的开始页不同了
------
有中文版的吗

------
不晓得用起来什么感觉
------
只用2008来编译,这2010还没有碰。

------

------
什么时候去用用呢。。。。。。。。。。
------
看起来挺帅的
------
引用楼主 danxuezx 的回复:
一学生爬墙出校,被校长抓到了。校长问:为什么不从校门走?答曰:美特斯邦威,不走寻常路。校长又问:这么高的墙怎么翻过去的啊?他指了指裤子说:李宁,一切皆有可能。校长再问:翻墙是什么感觉?他指了指鞋子说:特步,飞一般的感觉。
  校长大怒,说我要记你大过。学生问:为什么?校长说:动感地带,我的地盘我做主。
在讲求个性化的今天,什么都要求个性化,自定义,都强调一个大大的i。所以这才有了iGoogle的自定义页面,Windows Live的自定义个性主页。作为程序员们天天使用的开发工具Visual Studio,为了顺应这种自定义、个性化的潮流,也引入了自定义开始页的功能。

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

                        图1 Visual Studio 2010的默认开始页
俗话说,好的开始是成功的一半。自定义开始页是如此强大,可以帮助我们完成很多常见的任务,给我们的开发工作带来极大的便利。下面我们就来对开始页进行一些自定义,完成一些特殊的[color=#000000]影视娱乐[/color]功能。

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文件,注释掉其中的如下代码:
XML code<!-- <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. 添加一个功能按钮

要在开始页上添加一个按钮也非常简单,只要按照开始页模板中代码添加自己的功能就可以了。复制如下的代码到刚才我们注释掉的代码前面,就可以添加一个功能按钮了
XML code<vs:TrayGroupItemContent="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. 创建用户控件

  在前面的文章中,我们介绍了如果创建一个自定义开始页,以及如何在其中删除添加按钮。实际上更加重要的是,开始页可以支持自定义的用户控件,以完成更加复杂的[color=#000000]美女明星[/color]任务。下面我们就介绍如何在开始页中添加一个自定义用户控件,来订阅此我的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并显示在开始页中:
XML code<UserControlx: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><XmlDataProviderx:Key="imccBlog" XPath="rss/channel" Source="http://imcc.blogbus.com/index.rdf"/></Grid.Resources><BorderBorderBrush="Black" BorderThickness="1" CornerRadius="10" Padding="4" Margin="0,0,0,10"><ItemsControlDataContext="{StaticResource imccBlog}" ItemsSource="{Binding XPath=item}" BorderBrush="Transparent" Padding="6"><ItemsControl.ItemTemplate><DataTemplate><TextBlockMargin="0,0,0,6"><ImageSource="C:\Users\Public\Documents\CTPWalkthroughs\Visual Studio\Samples\Start Page\greendot.png" Height="10" Margin="0,0,5,0"/><HyperlinkForeground="White" Command="{x:Static vs:VSCommands.Browse}" CommandParameter="{Binding XPath=link}"><TextBlockFontSize="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源,并在开始页中显示出来。
XML code<vs:TrayGroupItemContent="imcc's Blog"  
ImageSource="http://www.microsoft.com/china/community/images/MVPs/chenliangqiao.jpg" 
InnerContentUri=" imccBlog;Component/UserControl1.xaml"/>

                  图3 通过开始页订阅RSS

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



------
从来安装VS之后就永远关闭开始页,已经够占内存的了。
微软干点正事不好吗,打开VS就去折腾开始页?估计微软认为现在的程序员都很闲。
不过说不准开始页能成为一个商机,做一个好的开始页拿去卖钱。
------
问题是,有用吗?
------
漂亮
------
我安装了vs 2010
------
学习中。
------
学习下,哈哈,不知道有中文的没!!!
------
good
------
study...
------
永远关闭开始页
------

------
貌似是测试版本吧~O(∩_∩)O~
------
装了vs2010

------
感觉没用
------
...........
------
w
------
引用 11 楼 jameshooo 的回复:
从来安装VS之后就永远关闭开始页,已经够占内存的了。
微软干点正事不好吗,打开VS就去折腾开始页?估计微软认为现在的程序员都很闲。
不过说不准开始页能成为一个商机,做一个好的开始页拿去卖钱。

------
用过,不错!
------
很好看呀。。。。
------
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分

------
呃,看起来有点麻烦
------
更新太快了
------
同感
------
看上去不错的样子哦
------
学习下,哈哈,不知道有中文的没!!!
------
2008用的都不多呢。.
公司还用2005的..
------
一直都用2005
VC++方面2008的比2005的有哪些改进呢?
------
一直都用2005
VC++方面2008的比2005的有哪些改进呢?
------
关注!
------
不太喜欢ms的东东 eclipse Very GOOD
------
看起来很好用,有机会试试去
------
不明白 Microsoft 为什么要这么不厌其烦的更新visual studio 其实6.0 2005就够了
------
真搞不懂微软在想什么,啥玩意都更新这么快,然后过段时间又来个补丁。
我日
------
用过2010 比2008是好用了
------
2010!感觉很好。
------
酷啵
------
非常不错的效果
------
顶!~~~
------

------
顶!~~~
------
mark
------
mark
------
呵呵,去试一下

------
支持 Code Blocks ,反对MS
------
还没下下来呢
马上去下载一个vs2010
------
2008都还没摸会。。。
------
我还在用VC++6.0~~~
------
期待
------
还没开始使用2010版,但听楼主介绍,感觉2010版很好很强大!
------
我缺省都是把这个开始页直接关掉,我想不到我为什么要用他
------
对,现在是个个性化的社会。
------
MARK
------
哇,界面好炫,我也想去下个
------
期待用一用也
------
同意楼主
------
反映迟钝了
vc6.0+vs2008的路过
------
2005也不错
------
呵,刚刚安装了2010,还不太用使用.以前一直都在用VC 6.0
------
vs2008就行了!
------
更新速度太快了,我的程序还是用2003的呢!
------
免费的吗??

我现在在学用VC6…………
------
这个开始页有用吗?
貌似每次都是直接关掉开始页的哦~··
------
什么时候中文版出来啊
------
我也一直使用VS2005,开始页每次我都是关闭的,我喜欢一开就是empty project,干干净净的,多清爽啊。。。
------
更新真的太快了啊
------
谢谢你分享你体验后的感受。
------
一直都用vs2005
------
vs2010用户界面很漂亮哦
------
占资源太多了
------
2008就够了,不想升了,怕跑不起来
------
更新太快了,VS08还没有用上,VS10都出来了,微软太强悍了!
桂ICP备07017180号