Q/chen.NET之园

…………………………………………C#toWindows Mobile&Asp.NET
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Visual Studio Orcas

Posted on 2007-04-25 10:25  Q/chen  阅读(3533)  评论(15编辑  收藏  举报

【原文地址】My "First Look at Orcas" Presentation
【原文发表日期】 Thursday, February 08, 2007 10:44 PM

【转摘】Scott Guthrie 博客中文版
我近期的欧洲之旅的亮点之一是,得到机会第一次公开地展示我们Visual Studio和.NET Framework下一个版本(代号名为 Orcas)中的一些新特性。

你可以在这里下载我讲座的讲义和演示代码。你也可以观看Tom在这里贴出的我在比利时做的讲座的一个录像(注:另一个我在英国做的WebDD讲座的录像不久也将贴出)。

Orcas 将是一个非常激动人心的版本,包含了成堆的我认为你会非常喜爱的强大的功能。我将在下几个月内在博客上详细讨论更多的细节。下面是我上个周末在欧洲做的讲座中的几个演示截图。注,它们展示的只是几个特性而已,我没有谈及的特性还多着呢。

多定向(Multi-Targeting)

Visual Studio Orcas将是第一个允许开发人员针对多个.NET Framework版本开发的Visual Studio版本。这意味着你可以打开或创建一个项目,明确地指定.NET Framework 2.0或者3.0或者3.5版本,Visual Studio会自动地过滤Intellisense,工具箱控件,和添加引用的对话框项诸如此类的东西,只显示指定框架版本里支持的那些特性。然后你可以针对这些不同框架版本进行编译,还能得到每个版本的完全的调试支持。

多定向(Multi-Targeting)的很大的好处在于,你可以马上在 Visual Studio Orcas 中使用绝大多数的新特性(譬如,所见即所得(WYSWIYG)设计器和JavaScript 编辑器等),即使你还在开发或更新老一点版本的项目。

下面这个例子展示了如何创建一个明确地指定使用.NET Framework 2.0 的项目,即,允许你在 Orcas 中创建一个将在目前的ASP.NET 2.0版本上运行的web项目:

然后你可以把版本目标调整为 .NET Framework 3.5 (即是框架类库的Orcas版本,包括了对LINQ的支持),你就可以看到多了几个可用的新项目类型(包括WPF 项目):

项目内的程序集引用, Intellisense和调试将自动地根据你针对的框架版本做相应的调整。

丰富的HTML/CSS所见即所得(WYSIWYG)设计器

我在以前一个博客帖子里提到过,Visual Studio Orcas 中将提供一个大为改进的HTML和ASP.NET网页设计器。此外,这个所见即所得设计器将提供:

  • 分割视图(Split View)的支持 (同时将HTML源码和所见即所得设计模式打开的能力)
  • 无比丰富的CSS支持 (CSS属性窗口,CSS继承图示器,CSS预览,以及CSS管理器)
  • 极大改进的视图转换性能 (从源码模式转换成HTML设计模式将会瞬时完成)
  • 对源码视图内控件设计器的支持 (属性构造器,事件接通(wire-up)以及向导将会在源码视图内正常工作)
  • 更丰富的标尺(ruler)和布局支持 (更棒的是,它们的值将被自动储存在外部的CSS文件中)
  • 对内嵌母板页(nested master pages)的设计器支持

下面是一个在分割视图编辑模式下的ASP.NET网页的截图(允许你同时在源码和设计模式里操作):

Visual Studio Orcas也将有大为改进的CSS支持。新的“管理样式”属性窗口允许你在样式表内轻易地创建,管理,和重构CSS规则。

譬如,你可以在下面看到 c4f.css 样式表中一个所有的样式表规则的列表。那些带着圆圈的规则表示该规则在当前页面中被使用了(然后你可以点击右鼠标来看一下多少地方使用了该规则,以及在所见即所得设计器里高亮显示那些使用了该规则的元素)。你可以在样式表里拖放规则来重新安排它们的次序,在多个文件里对它们进行重构,以及在所见即所得设计器里选择一个HTML元素来应用CSS规则。

当你在所见即所得设计器里选择一个HTML元素时,你现在也可以使用CSS属性窗口来查看该元素上所有的CSS规则以及它们对应的设置。这个特性的一个非常棒的东西是,它可以向你显示从多个CSS规则继承而来的层叠式设置(cascading settings)。

譬如,你可以在下面看到我对某个特定的元素设置的各种规则对颜色属性设置了4次 (这些设置进而被CSS链下面的规则所覆盖)。你可以在属性页里点击任何规则,或者点击任何被覆盖的值,来识别出每个设置究竟都是从哪里来的。这在使用CSS时,可以极其容易地琢磨出为什么一个页面或元素看上去是某个特定的样子:

在改变象颜色这样的CSS样式值时,取色器(color-picker)现在还有一些非常棒的特性,例如,向你显示已经在样式表或文档中使用的其他颜色:

所见即所得设计器里现在支持定义和使用内嵌的ASP.NET母板页(nested master pages)的功能。譬如,你现在可以定义一个根Site.Master文件为整个网站所用:

然后很明显地,你可以创建使用这个母板页的新.aspx网页(就象在VS 2005里一样),或者你也可以创建一个从这个母板页衍生而来的新母板页,然后在根site.master文件中定义的contentplaceholder 中添加自己的内容和其他contentplaceholder 控件。当你想在整个网站上使用多个布局类型时,这可是有用之极。譬如,你也许想引进象下面这样的“两列”内容布局的母板页文件,该母板页继承和扩展了根Site.Master文件:

然后你就可以创建从这个“两列”母板页而来的新网页,在它呈示的2个contentplaceholder内填充内容:

美妙之处在于,对根母板页做的任何改动都会在网站上的所有页面里显示出来,不管它们是基于哪个母板页的(只要该母板页是基于根母板页的)。这允许你在网站上采用更丰富,更灵活的布局结构的组织。

ASP.NET AJAX 和 JavaScript

2个星期前我们刚发布了ASP.NET AJAX 1.0,在 Orcas 中,我们将更进一步(很明显地,Orcas将包括所有的ASP.NET AJAX 1.0内置功能)。包含在内的将是Visual Studio中显著改进的AJAX和JavaScript工具支持,包括JavaScript Intellisense 和更加丰富的调试支持。

下面是一张截图,展示了对标准的行内 JavaScript (任何 JavaScript 代码都可以) 自动动态产生的 Intellisense 方法概要信息:

JavaScript intellisense支持丰富的类型推断,譬如,注意到没有,它是如何从下面的方法中自动推断出返回对象是个字符串,所以能在之后提供了针对字符串的Intellisense:

VS中的JavaScript intellisense引擎对所有标准的ASP.NET AJAX 库概念(类,属性,枚举等等)都有丰富的支持。除了对任何正常的JavaScript代码提供 Intellisense 支持外,VS现在还允许你添加可选的注释概要信息来为Intellisense提供额外的提示:

在调试AJAX 和JavaScript时,你现在可以在你的服务器端代码中设置客户端JavaScript断点,VS 现在可以自动地在客户端把它们接连起来(这些断点也可以在你关闭项目/解决方案时保存起来)。在调试时,你现在也有完整的监视窗口(watch window),intermediate 窗口和其他更多的支持。 VS中的解决方案管理器现在也自动地列出正在运行的JavaScript文档文件,允许你在任何脚本资源里轻松地设置断点。

显著改进的数据支持

我以前在博客里讨论过,Orcas将包含对LINQ的支持,通过把查询的概念变成一等的编程概念,LINQ将使得.NET中的数据访问面貌一新。 VS Orcas 包含一个对象/关系的映射器,允许你为关系数据创建数据模型:

然后你可以在VB 和C#中编写丰富的LINQ查询来获取数据,绑定这些数据,以及更新这些数据。 现在VS对所有的LINQ查询以及结果值提供完整的Intellisense支持:

想开始了解一下LINQ的威力的话,请观看我这里的录像。除了允许你编写使用LINQ的代码外,很明显地,我们也将在ASP.NET中提供完全的数据绑定支持,允许你轻松地把任何 ASP.NET UI 控件连接到LINQ实体上去(允许你不写任何代码即可支持分页,排序,编辑,删除,添加新数据)。我们也将提供一些新的ASP.NET 数据控件 (包括漂亮的基于CSS的崭新ListView控件),帮助你更容易地建造数据驱动的UI。

结语

Orcas将是个乐趣多多的版本。希望上面的截图吊起了你对即将来临的技术的胃口。我在上面以及在LINQ录像里展示的所有特性,都将在几个星期内可以公开下载的Orcas二月份的CTP中发布。然后我们预期在这个春天的稍后发布第一个Beta 。在下几个月内我将撰写更多的帖子,对其中的一些新特性做更详细的讨论。

希望本文对你有所帮助,