Visual Studio 2013 中异步解决方案负载性能的改进

[原文发表地址] Asynchronous Solution Load Performance Improvements in Visual Studio 2013 [原文发表时间] 2013-10-14 改善解决方案的负载 过去的几年中,Visual Studio 团队一直在努力提高开发大型解决方案的Visual Studio 的性能和可扩展性。你们很多人特别感兴趣的一个领域是我们最初的解决方案的加载时间。对于Visual Studio 2012,我们实现了使大型解决方案异步加载,这将大大提高我们许多用户的加载速度。对于Visual Studio 2013,我们通过将文档选项卡的初始化推迟到文档被需要使用时,来提高解决方案的负载性能。在这篇文章中,我们将帮助你看到在最新版本中期望看到的变化,以及一些我们从使用预发布版本的客户那里看到的早期性能数据。 大负载 在此之前的VS 2012 ,解决方案是所有资源一次性加载。在加载期间,整个 IDE 将被阻挡,直到为解决方案可用而做的所有必要的准备和初始化完成时为止。使用更大的解决方案的用户可能熟悉此对话框: 对于只有几个项目的一个小的解决方案,加载通常不会花太多时间。但随着解决方案的复杂性和大小的增加,加载该解决方案所需的时间也会增长,等待此对话框消失的时间也会增长。所以当使用VS 2012时,我们问过自己,”如果我们只加载用户需要工作的项目,会发生什么?” 去异步 我们的理由是,在任何时候,开发人员只能积极地工作在一个解决方案中的几个项目。当解决方案被关闭时,如果我们能够确定哪些项目对于开发者来说是最重要的,那么我们就可以在下一次解决方案的加载时,先加载这些项目。其余的项目则可以在不影响开发人员的生产效率的某个时间加载。 上述文章描述了异步加载的解决方案,所以我不会在这里详谈了。但对于这个话题,知道的关键概念是,我们用打开的文档,来确定哪些项目应该在下一次解决方案加载时首先被加载。使用“局部性原理”的概念,我们可以推断,如果一个文件打开着,而该解决方案已经关闭,那么它很可能会在解决方案重新开启后不久被再次需要。为了确保解决方案加载之后该文件是处于可用状态,我们必须载入拥有该文档的项目(以及它所依赖的任何项目),以确保编辑和导航按预期方式工作。因为我们用一个模态对话框阻碍了UI,直到加载完成,我们称此为溶解负载的模态阶段。剩余的项目将在稍后的时间中被异步加载,他们将不会影响开发者的生产效率(被称为意料之中异步阶段)。 进度! 我们的内部测试表明:从异步加载的解决方案中获得重大的潜在收益,但最终的问题是在实践中用户得到了多少收益。为了实现此目的,我们添加了新的遥测点,使我们能够分析异步解决方案加载在我们的客户那里的工作性能如何。使用这些遥测点,我们可以计算出发生Visual Studio 2012 更新3上的负载。虽然也可以异步加载单个项目的解决方案,但他们不是这些改进的重点作用对象,所以我们将首先着眼于至少包含2 个项目的加载。 这些数字是很有前途的。我们查看所有解决方案加载的四分之一,我们推迟加载超过解决方案60%的比例,仅阻碍 IDE 2 秒左右。解决方案加载更多时,我们开始看到异步解决方案负载产生的影响开始减少。到75 个百分点时,解决方案加载几乎同步加载整个解决方案并且响应时间大大增加。 尽管只有 2 个项目的解决方案可以受益于异步加载,但我们预期对于更大的解决方案的影响会更明显。例如,当针对具有 10 个或更多的项目的更大的解决方案时,我们可以看到异步加载产生了更大的影响。 到75 个百分点时,项目的延迟加载比例从 0.3%增加到 18%。虽然模态加载时间略有增加,但如果不推迟项目的加载的话,它将会大得多。 虽然这是令人鼓舞的进展,但是我们想知道什么可以进一步增加异步加载的项目的数目。我们再来看我们的遥测,发现了与速度较慢的加载密切相关的变量之一,即会话之间保持打开状态的文档的数目。 看看在这种方式下只有一个项目并且只有一个打开着的文档的加载,这将会导致模式加载项目的数量大大增加。我们仍然的在IDE的响应时间量上看到明显的改善,但显然有进一步改进的余地。…

1

关于Visual Studio 2013中编辑器增强的更新

[原文发表地址] Updates to Editor Enhancements in Visual Studio 2013 [原文发表时间] 2013-10-31 8:00 AM 在Visual Studio 2013中,我们已经向编辑器中增加了许多新功能。想了解这些功能如何帮助你提高效能请参阅之前在MSDN上发l表的Visual Studio 2013新编辑器功能还有Visual Studio 2013 – IDE新增功能介绍。 今天,我们想分享这些你们将会在最终产品中看到的功能的更新。 查看定义(Alt + F12)现在可以编辑了! 在Visual Studio 2013 预览版中,我们介绍了一个叫做“查看定义(Alt + F12)”的神奇的新功能,他可以让你在编辑器中在保留上下文的条件下浏览符号文件的定义并将其放置在代码中。我们也承诺过会增加能在查看视图的同时,就地编辑代码的功能。在Visual Studio 2013中,我们很高兴地宣布查看定义现在已经完全可以编辑了! 查看功能的灵感来自于我们在VS 2012种介绍的预览选项卡功能及其编辑能力,我们想沿用这个经验。我们知道编辑是一个重要的操作,因此当你编辑一个在查看视图中打开的文件时,我们自动将文件在文档选项卡中打开就像在真的选项中一样。当你退出查看视图后,我们会保存在选项卡中打开的文档还有你的改动以及撤销的动作。我们做了大量的用户调研来优化这个功能并且当你在查看视图中编辑你的文件的时候,我们会提供最好的无缝体验给你。对于目前为止在我们用户调研中收到的客户反馈,我们非常激动,也希望大家会喜欢它! 导航到(Ctrl+,)现在可以调整大小并且提供更多的详细信息! 在Visual Studio 2013 RTM中,你可以快速搜索并导航到符号文件和文件,并且可以在操作时看到实时的预览。当你需要看你搜索的结果时,你也可以同时横向和纵向地调整“导航到”窗口。 最后,在“导航到”中使用选项下拉框时,你可以在嵌入式详细视图中开启‘显示详细信息’选项,用来帮助需要消除歧义的情况。 请不要忘记在下面留言。你可以提交你的功能需求到用户心声并且报告Bug到联系我。 Ala Shiban (@AlaShiban) – 项目经理,Visual Studio编辑 Ala热衷于人才和能赋予我们能量的技术。自从Commodore64时代以来他一直在一台PC上工作。在与C,C++,VB,C#,Java,Javascript和MATLAB打完交道之后,他将他对于跨语言和平台的理解相结合,继续提高 Visual Studio的开发者经验。 Murali Krishna Hosabettu…

0

Windows Azure SDK 2.2 发布了

原文发表地址:Windows Azure SDK 2.2 Release 原文发表时间:2013-10-23 9:00 PM 昨天我们宣布发布基于Visual Studio2012 和2013的Windows Azure SDK 2.2 版本。这个版本包含一些新的高度需求的功能,例如为云服务提供集成登录、远程调试预览、编辑并继续,在服务器资源管理器中加入SQL数据库,同时可以将云服务发布到相关的组内。此外在VS2013中,我们还增加了Windows Azure 移动服务日志。在这篇博客中,我们将和大家一起分享更多关于这些令人兴奋的功能的细节。 我们已经将登录体验直接集成到了Visual Studio中,这样你就可以用你的微软账号或者其他组织账号登录到Windows Azure而不用退出IDE。 也不再需要创建,下载或者分开管理证书。这不但简化了新用户的体验,同时使老用户登录Windows Azure 服务变得更加方便。       有了新的远程调试,你可以从Visual Studio中给一个正在运行的Windows Azure云服务中的实例加载调试器。当你需要跟踪一个只有在运行的实例中才会出现的令人讨厌的问题时,这种调试在线云服务的能力绝对是无价的。 除了远程调试,我们还增加了编辑并继续。这样你就可以在调试的过程中修改你的代码,并看到这些修改产生的影响,而无需重新启动会话。 此外,在Windows Azure服务器资源管理器中,SQL数据库节点也受到大家的欢迎。这样你就可以浏览你的SQL Azure数据库而不需要知道虚拟机器和数据库连接间的字符串。我们会自动设置防火墙,以便你可以直接从你的开发环境连接数据库。你也可以在SQL对象资源管理器中打开你的SQL Azure数据库,以便进行完整的数据库管理体验。 在这个版本中,云服务支持部署到相关的组内,而不仅仅是一个特定的区域。这样你可以将其部署到相关的分组以提高性能,同时降低网络带宽。 在Visual Studio 2013的服务器资源管理器中,我们还增加了查看您的移动服务日志的功能。当你改变你的表脚本时,你立刻会在Visual Studio中查看到这个日志。 同样地,这个新的SDK也可以和前面两个版本的Windows Azure SDK(版本2.0 和2.1)一起在Visual Studio 2012 和2013上工作。 你也可以在Scott Guthrie 的博客工作室.找到更多详细的关于Windows Azure SDK 2.2 新的东西。 我们非常乐意收到你的回复。您可以直接对这篇文章发表评论,或者在Visual Studio中使用发送一个微笑功能,也可以通过连接微软或Visual Studio用户语音提交错误。 享受每一天!…

0

Visual Studio 2013 发布到网上了

[原文发表地址] Visual Studio 2013 released to web! [原文发表时间] 2013-10-17 Visual Studio 2013现在可供下载!对于我们即将要带给你的,我们希望会感到高兴。在Visual Studio的网站上,关于what’s new in Visual Studio 2013 ,你可以了解更多。同时,在你的日历11月13日上标记Visual Studio 2013 virtual launch event 来加入我们的行列! 如果你还没有尝试过用Visual Studio 2013预览版或RC 版,那么当你第一次启动Visual Studio 2013时,你会被邀请用Microsoft帐户登录到Visual Studio 。 当你用你的微软帐户登录时,Visual Studio会记住你的前端设置,并自动跨设备同步设置,以确保Visual Studio被准确的设置为你喜欢的样子!从我们以前的Synchronized Settings blog post 或者从MSDN ,你可以了解更多有关此功能的信息。 登录还有其他优点,除了跨设备同步你的设置。 MSDN订阅者,登录时将自动解锁IDE ,而不需要输入产品密钥。登录到Visual Studio专业版,高级版和旗舰版可以延长试用,Visual Studio Express用户可以一旦登录,他们的IDE就会完全解开 。此外,当您登录时,团队资源管理器立即可以预填充您的Team Foundation服务帐户会自动连接到Team Foundation Server对话框,并且连接到他们而不会再次提示验证。Signing in to Visual Studio了解更多关于登录到Visual…

0

在Visual Studio 2013 Blend中设计像素完美布局

[原文发表地址] Designing pixel perfect layouts in Visual Studio 2013 and Blend [原文发表时间] 2013-9-18 8:00AM 这是个常见的场景。你在开发应用程序的时候头脑中有一个设计。它可能来自于专业设计师或者餐巾纸背面的素描图案,但你需要将这个概念变成实现设计的工作,这说起来容易做起来可不容易。 当你的设计要求从顶部到文本的基线精确到100px,但是这个基线是在控件模板中的一个自定义控件,头疼的是找出需要调整以获得精确位置的值。另一种情况是,你想要的图像精确到300px宽,但你总共只有260px,你打算水平倾斜它以便达到它合适的宽度。你可能不想使用三角函数来计算出准确的倾斜角度。Blend知道你需要用一个更简单的方法去做,在Visual Studio 2013 Blend中,我们已经实现了一些新的工具来帮助你处理该设计并将它打造成为一个优雅,准备一鸣惊人的应用程序。让设计师发狂吧,现在你已经准备好了。 一个新的标尺/参考线系统能够帮助你得到你想要的像素完美精确性。高级对齐引擎获取的队列是你需要的方式,升级后的就地编辑引擎可以帮助你修复控件模板,不需要删除你正在使用的环境的样式。 测量栏 当你打开一个Windows Store的 XAML或者HTML应用程序,你首先会看见这些新的标尺。拖动一个控件到画板上,或者只是选择一些元素,你将会看到新的标尺带来了测量栏,显示一些有价值的信息。这很简单……你的元素有多宽/高?你的元素与文档之间的距离是多少?这还不是最有价值的,但是尝试这样…… 创建你的网格应用程序,看看它的标题是否准确地在你猜想的地方。Windows 用户体验指南提到基线应该是从顶部100px和从左边120px开始,当你选择pageTitle,你会看到在测量栏上的值呈现的测量是FINAL。它考虑到父容器,并呈现转换给你一套测量,表示该控件将在运行时,这在控制或者数据模板内有效。所以,下次你有一个复杂的用户界面需要获取该控件从应用程序一端精确到120px,你就会看到为什么标尺和测量栏式强大的工具了。 参考线 当然,你现在可能会坐在这儿,问问自己是不是有更简单的方式来获取控件到特定的位置。在设计中,你的应用程序有一个商标,你希望这个商标靠近应用程序的顶部右边,但是与顶部边距40px及与右边边距100px。你可以将图像拖到通常的位置并将其周围微移直到得到你需要的值,但是向导系统让这些变得更简单。 将光标放在标尺顶部,单击鼠标并向下拖动。一旦你这么做,Blend将为你创建参考线来显示应用程序边缘的位置。如果你不想尝试拖动到特定的偏移量,只需要单击该值并改变它。 如果你与左边的参考线做相同的事,你要看看从设计图左边缘的距离。在这个例子中,那不是你所想的,因此抛开参考线,单击右边的值。会出现一个上下文菜单,允许你指定“右对齐”参考线。现在,Blend将显示右边缘的距离。单击值输入100,会得到一个参考线显示你想要的边缘的距离。 如果你真的想要看到一些酷的东西,转到设备面板,从横向切换到纵向。一旦你这么做,垂直参考线会重新调整成与新的右边缘距离为100px,参考线始终会确保它们的距离是正确的,不管你如何更改设备分辨率、捕捉状态或者方向。 另一个真正有用的部分是你可以无需考虑范围来对齐参考线。在参考线附近绘制一个按钮并且编辑按钮模板。在按钮内部,拖出一个矩形,你甚至可以将控件模板里的矩形与参考线对齐。这大大提高了试图排队的控件体验,无论你是否决定使用布局模式。 捕捉 Blend中的捕捉引擎也有几个改进。如果你想让你的Windows Store使用较旧版本的Blend元素,你可能看过一些控件似乎可以从3px关闭一切,你可能还试图获取TextBlock来与按钮中的文本基线对齐,并且发现它有点挑战性。 Windows Store应用程序的默认控件通常具有内置控件焦点矩形。比如,当键盘用户导航到一个按钮,它会在外围得到一个白色的矩形框来表示获得按钮焦点。这个焦点矩形是内置布局边界的按钮,这就是为什么按钮设计图的装饰看起来似乎是在边缘的几个像素,而不是直接在按钮上面。焦点在矩形布局界限内有助于防止你从丑陋布局中创建重叠的矩形,但它确实使那个棘手的按钮看起来完全正确。 在上图中,所有四个控件都有向左100的填充。参考线也位于100,以便将所有预期的控件都显示在里面。但是,红色的矩形显示如何将单选按钮和按钮都抵消3像素的单位。坦率地说,这些小小的差异都将使你的应用程序呈现未磨光的外观。 在Blend的捕捉引擎中现在能够忽视大多数控件的可视化元素,而不是捕捉到元素的可视范围。要看到这一点,从左边缘拖动参考线100px并且移动按钮到参考线上直到它能被捕捉到。现在你将看到该元素的可视化对象捕捉到参考线而不是布局的边界。当你对齐到参考线或者其他元素时捕捉才会工作。 捕捉引擎的另一个改进是文本基线。拖出水平参考线,一个按钮和一个文本块。现在,拖动按钮和文本块到水平参考线并尝试在参考线基线上获取其文本。你会看到Blend现在能够找到文本基线上的常见控件,并允许捕捉它们。所以,当Windows指南告诉你一个指定的文本元素基线假设是距离顶部140px,你可以创建的参考线实际上正好获取140px的基线。 标尺,参考线和捕捉功能从你的反馈意见中建立,我们一直在寻找如何帮助用户更加容易地做出更好的应用程序,如果你有更多的想法,我们很乐意听到。请让我们知道你内心是怎么想的。我们会看所有的反馈,不管是来自这篇文章的答复,用户语音请求,连接bug或者是Visual Studio中的Send-A-Smile系统。   Dante Gagne是微软的项目经理,11年来致力于XAML工具。他从测试人员做起,最终将他的激情用来帮助Blend和Visual Studio的改进。今天,他的工作重点是设计经验和生产力。

0

LightSwitch在VS2013上的出色表现

[原文发表地址]LightSwitch Performance Win in Visual Studio 2013 [原文发表时间]2013-10-09 伴随着Visual Studio 2013 RC的发布,对于HTML客户端和服务器交互时所占用的带宽,我们LightSwitch Team也做了一些改善。一起来看看我们所做的,以及怎么样才能使lightSwitch应用的开发者和用户都获益。 一个不可取的开放式数据协议形式 LightSwitch 用一种基于REST的协议——ODATA来进行客户端和服务器的交互。ODATA可以通过一些不同的方式被格式化。这些当中一个比一个冗余,但是对于我们来说幸运的是微软的ODATA团队最近正致力于寻找方法使得ODATA没那么冗余。 之前发布的LightSwitch HTML客户端使用的是一种称为JSON Verbose的ODATA形式。正如它的名字暗示的一样,这种形式占用不少带宽。 伴随着Visual Studio 2013 RC的发布,LightSwitch现在正在使用一种叫做JSON Light的形式。正如你所猜测的,这种形式占用相当少的带宽。 现在来看看带宽的使用情况,我们得到的结论是仅仅使用了更少的带宽。 节约带宽 最简单的证明方法就是创建一个简单的LightSwitch 应用数据,添加数据到数据库,创建一个简单的界面,然后“启动”我们的APP。我们可以接着使用IE浏览器F12调试工具看一下HTTP请求和响应的带宽大小。 我将演示下制作一个简单的LightSwitch工程。如果你对如何制作LightSwitch工程不熟悉,请查看一个非常简短的教程在我们的教程开发中心。 我同时还制作了一个简单的动画图片展示这些设计阶段的步骤。 登陆Visual Studio然后导航到文件–>创建新项目然后选择一个LightSwitch HTML 应用(LightSwitch 桌面应用使用一个silverlight客户端,它已经从Visual Studio 2012 Updata2开始一直使用Json light 形式)。 当你做完这些以后,接着去点击“添加外部数据库”。我们添加一些已经在数据库里有的数据。(添加的是Northwind ODATA Service)。但是假如你没有可用的有数据的数据库,你可以添加Northwind ODATA Service)。选择你想要导入的表然后点击“完成” 我们需要一些方式去展示数据,那么我们创建一个简单的界面来放数据库里的表。 右击LightSwitch HTML 工程,然后点击“添加界面” 选择“浏览数据界面”模版,然后为你知道有数据的表选择界面(我使用的是Customers表)。 现在我们可以启动我们的app然后使用IE浏览器F12的开发工具去看看特定的HTTP请求。 你可以参照这张动态图上的步骤: 1. 按F5去登陆LightSwitch HTML…

0

Visual Studio中起始页面的历史变迁

[原文发表地址] Visual Studio Start Page: Through the ages [原文发表时间] 2013-10-02 当我们开始规划第一个真正集成版本的Visual Studio (在此之前的Visual Studio基本上是一些工具的集装箱)时,我们希望能帮到开发人员去使用该新版本。要做到这一点,我们为大家介绍下Visual Studio中的起始页面。 在Visual Studio.NET中 图1 Visual Studio.NET —-实现为一组位于左手侧的垂直制表符 该起始页面提供一个地方,当产品第一次启动时,不仅可以让用户了解Visual Studio,而且还可以很容易地回到了他们之前一直做的东西。我们也增加了一些其他的功能,如,检查你创建的XML Web服务端点,并且能访问提供在线信息的社区。用户也可以在起始页面中进行自定义设置,使他们能够使用自己设置的快捷键进行窗口布局的切换。这是因为根据我们当时的研究结果,超过60%的客户会使用到多个微软开发工具,而且每人都有不同的快捷键绑定和布局风格,所以我们希望用户可以很容易地设置Visual Studio,使它使用起来感觉很舒服。 在Visual Studio.NET 2003中 图2 Visual Studio.NET 2003的起始页面侧重于MRU 到2003版,我们从开发人员那里听说:我们在Visual Studio.NET开发环境的起始页面中展示给大家的最有用的内容是最近最常用的项目或解决方案以及在线部分的内容。因此,在Visual Studio.NET 2003的起始页面中,我们去掉大家不常用的标签,专注于MRU ,在线信息和用户配置文件几个方面。 在HTML页面中渲染起始页面,使人们更容易创建自己的启动页面,同时也导致了一些问题。因为起始页面使用了和IE浏览器相同的引擎,用户可能会自己发现在起始页面的显示时,他们的防病毒工具被触发。此外,性能已开始成为了一个限制因素,我们看到越来越多的用户为了Visual Studio的加载速度更快而去关闭起始页打开这样的选项设置。 在Visual Studio 2005和Visual Studio 2008中 图3 Visual Studio 2005的起始页面改用Win32组件,并且包括了RSS内容 我们决定对于Visual Studio 2005和Visual Studio 2008的起始页面,让它作为一个自定义的Win32组件来实,并且只通过RSS方式来显示动态内容以降低起始页面的曝光所导致的威胁。 我们也把文件配置过程移动到第一次启动过程中,这是因为我们的客户数据表明:虽然大家仍然在IDE中使用多个工具,但是却不那么频繁地切换配置。所有这一切虽然使起始页面速度更快,但是为了呈现新的信息,或者采用更现代的外观,我们也花费了更多时间在修改起始页面上。 图4…

0

有效方法:在 Blend中快速寻找和设置CSS属性

[原文发表地址] Supercharged Styling: Quickly Finding and Setting a CSS Property in Blend [原文发表时间] 2013-09-12 8:00 AM         Vs中Blend的核心目标是使那些关注他们开发出来的APP的质量的开发者们更加快速简洁的开发APP。当开发APP时,要想使HTML设计者在Blend中快速掌握CSS编辑,一个好的方法就是直接提供一个可视反馈机制,并且可以在设计界面上直接编辑,这样实际上是边开发边执行你的应用程序。         当听到我们如何能更好的优化我们的工作流的类似的反馈后,我们已经将这些观念引入到即将发布的VS2013的Blend中,让你以现有的能力开发出足够专业的windows APP。另外,当你想通过更多的可控形式管理复杂的CSS属性时,你可以通过“应用样式规则”列表来设置特殊的CSS规则。这次,我们将在CSS编辑器中提供一些新的有效的CSS输入方法。 类别编辑器         举个例子:在Animation类别编辑器中以category排序,你可以发现CSS属性编辑能够输入复杂的CSS属性。 我们将在CSS animation编辑器中,使这特殊的编辑方法应用到更多的细节,但值得注意的是,当引用多个animations时,编辑器用了一组逗号分隔CSS属性,并且在一个简单易懂的列表中显示他们,使减少输入复杂的属性。         类别视图包括几个其它的类别编辑器,如:box-shadow,text-shadow,fon-family等等。尽管如此,当你在编辑CSS时,你将在一个样式中需要输入简单的和更多的复杂的属性,最终,我们发现大多数的开发者倾向于使用CSS属性编辑器去写复杂的属性,而遇到已知的,简单的属性时会在代码编辑器里编辑,从而造成了脱节没有效率的CSS编辑体验,这个问题促使我们在这一次的发布中引入了“Search or set propert Bar”。 快速寻找和设置CSS属性         Vs2013中的blend 引进了一个新的”search or set property bar’ 来使从快速进入众所周知的属性和在CSS编辑器中发现的所有的CSS编辑经验有一个平稳的过度。 你现在可以使用快捷键 Ctrl+.(Ctrl+Shift+;)打开search bar,不仅可以寻找而且可以直接输入已知的CSS属性值,CSS属性编辑器会自动的过滤出输入的属性,并且可以直接设置输入。         当输入不正确的变量或值时,错误的输入可以被快速的修正,所以你可以简单的输入然后选择正确的输入。 另外,多数CSS属性可以被输入或者粘贴到“search or set property bar”。 调试         值得注意的是”Search or…

0

对于Visual Studio 2013中 Blend的HTML开发人员来说什么是新的

[原文发表地址] What’s new for HTML Developers in Blend for Visual Studio 2013 [原文发表时间] 3 Sep 2013 9:30 AM         在6月Windows的Build 研讨会上,我们向世界介绍了Visual Studio和Blend 2013 Preview版。随着这次的发布,我们极大地扩展了Visual Studio对于用JavaScript、HTML、CSS创建Window Store Apps的支持,除了在Visual Studio中发现的客户端诊断和调试工具外,Blend同时还提供了主机功能,旨在通过打破那折磨人的“编辑-刷新”周期来提高效率。         在本文中,我们将深度剖析一下Blend中三个改善 HTML/CSS开发最多的的部分,包括创作CSS Animations新的工作流程(1)、嵌入自定义字体(2)和数据绑定属性(3)。 CSS 动画          W3C CSS ANIMATIONS 规则描述了一个极其强大的句法,但是该句法还是比较复杂的,难以单独通过代码来使其呈现出来,并且不容易调试。幸运的是,创作动画有行之有效的模式。在这个版本中,Blend采用了最熟悉的模式之一:基于时间轴的创作。         通过动画时间线,开发人员可以擦除至任意时间点,添加keyframes,拖放关键规则,修改迭代次数,设置填充模式等。简而言之,你可以编辑任何一个或者每个W3W规则描述的CSS动画。         大多其他的动画创作工具需要一个JavaScript的依赖,但是Blend时间轴却是众多中独一无二的一个,因为它创建了一个单纯的并且无需JavaScript或其他框架的CSS动画。一切都百分之百的符合CSS标准。这就意味着开发人员可以打开编辑任何网络中发现的CSS动画。         我们同样注意到大多数的动画工具只允许编辑工作程序以外的范围。不幸的是,这种隔离是有代价的:开发者无法看到DOM中的动画是如何与其他元素交互的。使用Blend,在工作程序范围内开发者能直接删除并且编辑动画。这就意味着如果你设置动画一个元素的宽度,例如,你就能看到它如何影响相邻元素的布局。         虽然动画应该谨慎使用在任何程序中,但正是谚语中的“锦上添花”促使我们做最好的应用,使得它们看起来灵敏、完美、现代化。我们认为动画时间轴编辑器将会向那些期望往组合里面添加一些动作的UI开发人员证明这是无法估价的。 嵌入自定义字体         对于所有影响品牌视觉形象的设计元素来说,没有什么比排版更重要了。文字的格式必须清晰,能在任何一个尺寸呈现出来,并且留下一个唯一的印象。为了达到这些目标,图形设计师经常利用一些不是Windows自带的字体系列。以往,UI开发人员通过图片、Flash、或者SVG文本把这些相同的自定义字体加入到网站或者应用程序、。不幸的是,文本替换一个长的字符串(例如一个段落)几乎是不可能实现的,并且增加了文件的大小以及载入时间。         为了克服这些弊端,开发团体最近估算了CSS3潜在的功能,就像字体外表。高分辨率时代同样恢复了对自定义图标字体的兴趣,将它作为创造性地提供可扩展图形的一种方式。         按照这种趋势发展,Blend现如今通过字体外表规则提供一些了便于向应用程序中添加自定义字体的加速器,支持字体的文件可以被加到既定的项目中,并且通过简单地选择右键菜单中的“字体外表规则”来创建属于它的规则。  …

0

XAML 编辑器在Visual Studio 2013 中的改进

  [原文发表地址]XAML Editor Improvements in Visual Studio 2013 [原文发表时间]2013年8月9日上午9:00 与你们中大多数人喜欢使用Visual tools创建XAML 相比,很多人也倾向于在代码编辑器中创建XAML。我们听到你们大声清晰的反馈,并且为上面的XAML编辑器功能请求开了一条缝。这篇博客详细地描述新编辑器的特性及用法。 数据绑定的智能提示 当前数据上下文属性的智能提示现在可以在绑定表达式中获得。为了编辑器能够识别属性,我们需要在视图中指定数据上下文,而不是通过后台代码设置。如果你选择通过后台代码来指定数据上下文,你可以在视图中设置Design-time的数据上下文,然后我们将能够捎带提示在绑定表达式中的属性。 此外,针对获得像可能定义在外部资源目录的数据模板资源,你可以选择在数据模板上设置Design-time数据上下文或者使用F12(Go to Definition) 导航到数据模板,我们将作请求复制正确的数据上下文的工作。这样可以不必明确地在数据模板上设置Design-time 数据上下文。 解决数据上下文错误的智能提示 设计时数据上下文的智能提示 正如你看到的上面这两种通过同样的智能提示设置数据上下文的结果。 转到定义(Go To Definition) 转到定义(F12)被在资源(Local,System&Extension SDK), 绑定,属性和XAML元素(UserControls,CustomControls & System types)上启用. 让我们通过以下的章节更详细地探究这些变化。 资源(Resource) 在一个资源引用上执行转到定义(Go to Definition)将会引导你到资源的定义。这个对本地,系统和扩展的SDK的资源引用都有效。适用时,设计者执行转到定义(F12)时被定位到资源。这个功能功能允许我们复制父空间的数据上下文(DataContext),从而启用针对这些资源中的数据绑定的智能提示。 比如你对ApplicationPageBackgroundThemeBrush 调用转到定义: 注意你可以到达资源被定义的准确位置: 系统类型(System type) 你可以对系统或者扩展的SDK类型使用转到定义(F12)。这么做将引导你到对象浏览器(Object Browser): 本地类型(自定义控件) 用户控件和自定义控件通常由一个类型定义和一个XAML文件定义它们的外观。我们想很容易地导航到类型和XAML文件。因此当你对任何一个类型调用转到定义的时候,我们会在“查找符号结果窗口”(Find Symbol Results window)呈现XAML 及其实现。 例如,我们对一个叫做 CustomControl1的自定义控件调用转到定义(Go To Definition): 我们从Generic.xaml 获得和CustomControl1.cs一样的返回结果:…

1