VS2010 生产力增强工具与建模功能包

来源:互联网 发布:物流app源码 编辑:程序博客网 时间:2024/05/16 09:38

[原文发表地址] Announcing: VS2010 Productivity Power Tools and Modeling Feature Packs

[原文发表时间] 7 Jun 2010 2:52 AM

在新奥尔良TechEd大会刚刚结束的开发者基础会议上,我们公布了VS2010两项新的产品:生产力增强工具可视化建模功能包

产品发布类型


在详细说明这两项新产品发布之前,我想解释一下我们所提供产品发布的类型

Product Releases

产品发布

我 们基本的一种发布方式,就是产品发布,比如Visual Studio 2010本身。这些发布产品经过全面测试,实现多国语言本地化,并且有完全后期支持。我们一般称之为“RTM”(Release to manufacturing,用于生产的发布)版本,我们的工程团队基本上就在这时候完成产品交付并提供下载服务或者压卷出货。

。某些时候我们也会做一个服务包(SP),它包含了基于用户反馈以及修复缺陷的产品更新。因为是对产品核心的更新,我们会做全面地测试,本地化,等等。 

Power Tools

增强工具集

增 强工具包由我们定期发布提供,用于该产品某个已发布的版本之上(例如在不动产品核心情况下可以用来做一些扩展)。它由我们的工程师团队发布,用于实验我们 的新设想或者快速响应一些常见的需求,而我们可能会也有可能不会把这些设想永久整合到产品的一个未来的版本中去。这种发布是免费下载的,为了使它们快点发 布我们不做全面地测试和本地化,同时它们没有正式的后期支持(一般工程师团队会根据需要反馈并回答问题但是你不能呼叫技术支持热线),它的限制就是你需要 自行承担使用它们的风险。

Feature Packs

功能包

功 能包是我们在VS2010中引入的一个新概念。像增强工具一样,它同样被设计在既有产品的核心上进行扩展(不能对产品进行改动)。而跟增强工具不同的是, 功能包包含的是我们在未来很想加入产品中的设想。因此功能包的质量比较高:本地化,全面测试,并且有正式支持。功能包可以通过你的MSDN订阅获得。

Samples

样例

最后我们来看个经典的样例(初学者实例,等等)。它们用于作功能示范,包含的内容质量等级和完整程度可能不是很一致。

Productivity Power Tools

生产力增强工具集

在 VS2010里,我们在平台上完成了大量的投入,包括基于WPF技术的编辑器,DGML, UML图表,以及TFS扩展。我们可以利用很多此类功能完成最终的产品。不过我总是期望这些投入对我们在这个核心平台上进行一个完整工作时会有回报,我们 团队的生产力增强工具集就是第一个例子(我们的合作伙伴同样做了很伟大的工作,更多可以查看VS Gallery

生产力增强工具集收集了一堆非常简洁又非常有用的功能来帮助你日常使用Visual Studio。这些功能集中在编辑、浏览以及其他常见的构造代码时会使用到的任务。

选择整行代码

在一个大文件里工作时会非常容易迷失当前的位置。代码行选择将会高亮当前行(缺省是灰色)从而使你很方便的看到当前所在位置:

你可能同样想高亮整行代码。一般我是通过Home+Home+Ctrl/Shift/End来完成,现在你可以像在Word里面那样通过三击一行来实现。

最后,我经常发现当改变逻辑的时候,自己需要在一个方法里移动代码块,例如,我可能想把这面这个文件中一些逻辑块从:

到:

为了完成这个目的,只需要选择这些代码行,然后按Alt+上下箭头。编辑器就会简单的移动代码块并应用这些新的变动。如果我停在原来那个If语句中间,那么就会像下面这个例子一样:

缩进与空格

有些时候这个功能会让团队里陷入一个“这个也不错,那个也好“的辩论。假设你为你的团队统一了一个标准但不能保证所有的文件是一致的,现在就有一个机会可以修复这种情形,在你打开一个文件时你会收到一个混合模式的警告:

彩色化参数

智能感知现在使用不同颜色标记参数,使得它能被更方便的阅读:

对齐助手

对齐线可以使我们很方便的查看整块代码块的边界。VS2010中已经有对齐线的支持,但是很难激活,现在它被做成一个简单的右键菜单。

对齐线会被放置在你当前光标所在位置,你可以为你的代码块添加任意多的对齐线。

另一个比较常见的对齐工作(取决于你的编码风格)是把一堆赋值语句对齐成一种可读的风格。现在自动化产生这种对齐,只需要简单的把光标放在代码块之前,按顺序点击Ctrl+Alt+] 便可以让它从:

到:

注意这种格式跟C#的缺省设定冲突,你需要在:工具->选项->文字编辑器->C#->格式化->空格->”[x]在声明语句中忽略空格”。(这个可能是你在C#中更喜欢的功能,因为在VB中它需要取消好看的lister支持)

HTML剪贴板支持

当你复制代码时,同样会包含一段彩色化的HTML块(这是我接下来要在这篇博客中使用的!)。于是在这篇例子中我可以直接把我的代码粘贴到HTML中而它原来的格式还能得到保留:

更好的标签支持

一个非常常见的功能需求是能更方便的使用文件浏览和标签。现在你可以为每个工程选择标签颜色:

还有其他可用的选项,包括布局,关闭按钮,以及排序:

下面展示了一个勾选了某些选项之后的例子:

浏览

当你按住Ctrl键并把鼠标移过一个代码对象时,它会变成一个蓝色带下划线的超链接,点击它就可以快速找到该对象的定义。

新的添加引用对话框

很多人要求改进添加引用功能。这个发布的版本里增加了缓存结果的功能,这意味着现在它可以在一两秒内弹出来并且支持搜索。

总结

现在我已经安装了生产力增强工具集,并且都不能想象如果没有这些功能会怎么样,希望你们能同样从这些功能中找到有用的地方。

可视化建模功能包

这个建模功能包为Visual Studio 2010 旗舰版提供的扩展包括:新增的可视化支持(网站与C/C++代码),新的UML支持,还有新增的层图。Cameron Skinner的出色工作让我们从(这里)了解这个功能包。让我在这里也展示一下:

网站可视化

希望你们已经发现DGML以及.NET代码的架构依赖图(更多可以看这里)的强大之处。这个发布包里我们增加了对网站结构的支持。

DGML结果页面包括页面依赖(包括Master Page),控件等信息。下面是一个Blue Yonder MVC的样例页面:

选择“By Web Site with Code Dependencies”同样会允许你在检查网站内容同时检查你的MVC代码。

C/C++(原生代码)可视化支持

VS2010 RTM版本支持.NET Framework(版本1.1 -> 4)。我收到过很多针对C/C++支持的需求,现在它也包含在这个发布包里。下面的例子让我们看一下C++团队提供的一个新的Hilo应用程序样例的结构

就像用.NET代码一样,通过DGML图我可以看到我的应用程序的内部以及外部依赖。

除了查看通过二进制文件生成的依赖关系,你同样可以产生基于头文件的依赖关系图:

现在如果你很想探寻究竟,你可以从”所有的”依赖关系(包括Windows系统的)开始往下钻研:

并且如果你够有勇气,你可以展开所有东西!这个图包括了Windows SDK的近 100个文件(间接的),而我不得不把整个图压缩得很小,才能把它放进一张png图片:) 你当然可以把它放大铺在你的显示器上:

我都不知道怎么跟你说我在CLR开发团队时有多“爱”这个功能。

它同样支持架构浏览器和DGML图表的拖放功能,并自动为你破开程序集。非常酷的功能。

UML类图的生成代码功能

VS2010旗舰版添加了对最流行的UML图表的支持,这里面包括类图。这个功能包也添加了从你的UML图表(设定了正确的T4模板)中生成代码的能力。下面是一个关于客户与订单的样例类图:

当你觉得图表没有问题的时候,只需要简单的右键点击并选择生成代码:

这个时候新的类文件就会连同框架代码段就会被添加进来:

从代码产生UML类图

如果你从你的模型开始工作,那么由图生成代码这个功能非常不错。但是很多情况是你已有的一个项目没有图表,使用这个功能包你便可以从架构浏览器中拖拽出命名空间到UML图表中去:

当你把它放到图上时,UML模型浏览器会展示出里面的内容(上图左边)。

XMI导入

这个功能包支持导入XMI 2.1,它能让你更方便地将UML兼容文件导入到Visual Studio中去。目前你只可以导入基于我们所支持子集的UML文件,你可以期待我们在未来版本中添加更多文件类型支持。

总结

你们可以期待我们会提供更多的功能来满足你们的需求,通过定期发布各种增强工具与功能包这种方式,不用再等到下一个主要的产品发布。从这些包和我们的第三方合作伙伴提供的大量插件中,我想你们会找到一大堆不错的东西。

让我们知道你们对新功能包的想法并发来反馈。我们绝对会收集你们所有的博客评论,tweets以及Connect条目来构造我们的产品。