Visual studio “15” 中解决方案加载时间更短

[原文发表地址]: Shorter Solution Load Time in Visual Studio “15” [原文发表时间]: October 11, 2016   Selma之前分享了一些使visual studio “15”启动比以前更快的方法。今天,我会讨论visual studio “15” 中的一个新功能叫做轻量级的加载解决方案。这个功能极大减少了解决方案加载时间,所以你可以更有效率更快地使用IDE。   轻量级加载解决方案 当启用轻量级加载解决方案,Visual Studio 不会完全加载项目,除非你开始使用它。许多常见的任务,例如通过您的代码库导航,编辑代码,和编译您的项目将不需要加载所有项目。 为了了解在真实的场景中它是如何工作的,我们在容量有限的 Visual Studio “15”preview 4 上发布了轻量级加载解决方案。目前看来,这些性能改进效果还是不错的: 在推出这个有限的功能之后,我们发现解决方案加载时间加快了两到四倍。 此功能的最终目标是使您在IDE中更加高效的工作。使用轻量解决方案加载的开发者们能够在浏览或者编译他们的代码时快1到2分钟。我们也期待在Preview5 中这一特性能够被更完整地发布。   试试它 轻量级的解决方案加载在Preview5 上并不是默认启用的,但我们想鼓励开发者们在中型到大型的、或托管解决方案中尝试这一功能并给予反馈。启用轻量级的解决方案加载,可以在导航菜单中选择工具->选项,然后选择项目和解决方案->通用,再勾选页面底部的‘轻量级解决方案加载’: 一旦启用了轻量级解决方案加载,你可以像往常一样打开并操作你的项目和解决方案。设置将在你下次加载解决方案的时候生效,没有必要去重启IDE。 在Preview5中轻量级解决方案加载主要作用于托管项目。若你在处理中型或大型的C#或VB的解决方案,我们强烈建议你试用这一新特性。你也能够打开C++或其他项目类型的混合解决方案——但请记住,对于其他类型的项目(更多信息见下文*)而言,目前还不是所有性能的提升都是可用的。 当轻量解决方案打开后,你或多或少能够像往常一样继续你的工作,只是会更快一些。特别地,还有一些事你可以试试: 用Navigate to(Ctrl+,)浏览你的代码库定位,查找声明定义(F12),查找文件,或查找所有引用 重构代码或内联重命名 生成或调试您的解决方案 你可能会注意到一些操作花了一些时间在后台加载项目数据。 请注意,轻量级解决方案负载仍然在试验中,所以它仍有一些不足之处: 如果一个关于项目的功能从IDE中丢失了,请尝试在解决方案资源管理器中扩展项目。如果有任何不能正常工作的情况请告知我们。 NuGet包恢复至今仍未与轻量级解决方案负载集成,我们建议在打开功能之前恢复包打开之前的功能或用命令行恢复。 除非一个项目完全被加载,否则测试浏览器不会看到测试结果。 如果你需要在一个解决方案中重定向或升级所有项目,禁用轻量级解决方案负载效果会更好。 *虽然在Preview5中轻量级解决方案负载作用于托管项目,如果你是一个C++开发者 也请不用担心,在未来的Preview5中有很多关于C++的性能改进,——在周四查看本系列的第四部分可以获取更多细节。在将来的版本中,这些改进将纳入轻量级解决方案加载。   请给我们反馈!…

0

Visual Studio “15”启动更快了

[原文发表地址]: Faster Visual Studio “15” Startup [原文发表时间]: October 10, 2016   正如John上周三在预览版5发布的博客中提到的,我们在这个版本中进行了大量的性能改进。这是包含Visual Studio “15” 性能改进的五部分系列的第一部分。 今天,我将向您介绍一系列我们为改进Visual Studio启动体验而进行的投入,主要包括以下方面: 使用我们的新性能中心,您如何确定所使用的扩展或者工具窗口是否影响了启动、解决方案加载或代码编辑等方面的体验。当然,还有如何优化它。 如何使用按需加载方法将扩展移出启动路径,优化和推迟缓存初始化,来有助于我们改善启动时间。 近年来,随着Visual Studio用户群的增长,在Visual Studio中也融合了一些合作伙伴的技术。 不幸的是, 由于这些功能在启动时会自动加载,这极大地影响了Visual Studio的启动时间。 下面是一个示例,显示了Visual Studio启动时间在启动加载扩展时,如何轻松地减慢50%。   Visual Studio启动包含什么? 有三个不同的Visual Studio 启动类型: 首次启动:安装完成后第一次启动Visual Studio。 第一次启动Visual Studio比其他启动要慢得多,因为Visual Studio环境配置了各种缓存和预构建的表。 正常启动:我们将在第一次启动后,后续的Visual Studio启动,称为正常启动; 此类启动不包括调试实例,或使用命令行参数启动的实例,以及之前安装的扩展或更新的实例。80%的Visual Studio启动都属于正常的启动。 配置更改:在安装扩展或更新后发生的启动。 这些类型帮助我们识别潜在减速的根本原因,有利于进一步调查优化方案。 首次启动的改进 在Visual Studio 2015中,首次的启动包括扫描安装的组件和创建一个配置文件,初始化默认设置,获取用户登录信息,并初始化缓存,如托管扩展框架(MEF),扩展管理器,工具箱以及字体/颜色缓存。 在Visual Studio“15”中,我们已经考虑了每个步骤,以查看哪些可以延期或优化: 我们尝试在Visual Studio 2015中推迟工具箱的初始化,这对于加载时间有积极的影响,于是在Visual Studio“15”中就进行了这种更改。 一些缓存,如字体和颜色缓存不再在第一次启动时初始化。…

0

Visual Studio 2015里的 Node.js开发工具1.2版发布了

[原文发表地址] Node.js Tools 1.2 for Visual Studio 2015 released [原文发表时间] July 28, ’16 现在是什么时候了呢?! 是到宣布我们下一个稳定的版本“Node.js Tools 1.2 for Visual Studio (NVTS)”已经可供下载了的时候了!NTVS1.2支持Visual Studio 2015(包括免费的Visual Studio社区版和Web上发布的版本) 用Visual Studio的 Node.js开发工具,我们力争使比以往更容易建立企业版的Node.js应用,完美支持您的应用程序的每个阶段,从强大的代码完成到高级的调试和分析,再到单元测试和云部署等等。   在V1.2中有什么新的功能? 除了支持Node.js v6.x和整个产品大量的bug修复,我们重点放在以下改进点,以提高开发人员的工作效率。   更快更好的ES6智能感知 无论你是遇到了性能问题还是渴望最新的和最伟大的Javascript,默认情况下,现在新ES6的智能感知体验比以往更好!新ES6智能引擎利用类型定义的文件提供更好和更高性能的智能感知。该功能也适用于最流行的Node.js框架,如Commander、Express、jQuery和Knockout。 每当你包含一个新的npm包,相关的”typings”将自动下载到您的项目,这将使您能够查看有关完成下次你’require’的模块。 我们希望你会喜欢这个新的智能感知功能时,同时也意识到这背离了我们先前的静态分析引擎。因此我们会将之前的机制作为一个备选项,并且继续提供。   更可靠的调试 高级调试是NTVS的基石,我们已经有了更好的解决一些用户报告的问题的方法。如果断点有时工作不正常,或内容不一致,一定要下载此版本以获得最新的修补程序。   提高性能 暂停和崩溃是一个阻力,但现在不是了!此版本提供了显著改进稳定性和性能,包括减少在以前的版本中看到的内存不足的崩溃。我们还提出了若干在我们的项目管理系统中的改进,所以你可以看到项目加载时间有所改善(特别是在“添加现有的代码”时)。 还是会遇到一些问题?那么请您在GitHub上报告问题,然后我们可以一起来解决它!   改进的单元测试体验 我们都知道,单元测试是快速定位bug的有用方式。因此我们已经做了一些改进的单元测试的体验,包括添加tape测试框架的支持,这里要特别感谢下@jcansdale(#989)。 想要支持您最喜欢的测试框架?那就让我们知道。我们可以将其包括在下一个NTVS的更新中。或者更好的是,只需在GitHub中提交一个Pull Request!   开始使用Visual Studio中的Node.js 1.2开发工具 下载Node.js tools 1.2…

0

Visual Studio 中的一些隐性功能

[原文发表地址]: Visual Studio Hidden Gems [原文发表时间]: May 4, 2015   Visual Studio是一个强大的 IDE,它数以百计的功能使开发人员能够做的更多、更快。大约一年前我加入了Visual Studio团队,我在这里发现了一些非常棒的功能。这些所有的功能都在Visual Studio 2015中,但其中一些已经存在在好几个版本里了,因此你也可以在 Visual Studio 之前的本版里找到它们。 1. 快速启动栏(Ctrl-Q) 2. 多语言支持 3. C#交互窗口(REPL) 4. Navigate/GoTo (Ctrl+,) 5. 查看定义(Alt-F12) 6. 预览选项卡 7. 向上或向下移动代码 (Alt+Up/Down) 8. 透明的弹出框(按住Ctrl键) 9. 状态栏中的版本控制信息 10. 诊断工具窗口   快速启动栏(Ctrl-Q) 快速启动栏是一个增强型的搜索框,它位于标题栏的右上角。它不仅会让你找到菜单命令和选项开关,它也会让你搜索文件、 设置、 以及NuGet 程序包和更多的东西!你可以通过默认快捷键Ctrl + Q直接访问它。 悬停在列表中的项目会提供快捷键或目录信息等有用的附加信息。   多语言支持 Visual Studio支持许多种流行的语言,但是如果你的语言不在列表里,你可以很容易地把它添加进来。通过我们新增加的对TextMate包的支持, Visual…

0

重新设计Visual Studio 的安装体验

[原文发表地址]: On the Road to Release: Redesigning Visual Studio Installation [原文发表时间]: June 17, 2016   对于那些一直在密切关注我们下一版本Visual Studio (开发代号为Visual Studio “15”)进展的人来说,你一定知道,安装和更新是我们的产品发布主题之一。正如在之前的博客中提到的那样,我们正在重构我们产品的安装,以便于默认安装会更轻量、更快、更可靠以及更易处理。这篇博客便是:新的Visual Studio 安装程序会更快、更精简和更专注于您的开发需要。 在build大会上,我们发布了第一个试验新安装体验的预览版,这个预览版的Visual Studio带有最小的“核心编辑器”,仅需要磁盘空间320MB。此版本(以及接下来的Preview2)包括了几个可以给我们提供早期反馈信息的,一些开发组建,这包括:.NET 桌面应用、Python、C++和 Unity。现在,团队正在将Visual Studio 的其他工具组件转换为新的低影响安装模型,以便于我们最终可以从经典安装程序转换为我们的新体验以及新的安装引擎。   安装体验 安装应该是每个Visual Studio 用户共享的唯一体验了,我们希望在我们完成最终设计之前,能够收到更多关于这个新产品的反馈意见。今年夏天晚些时候,我们会有一个带有新的安装程序用户界面的Visual Studio ”15”的版本。在它问世之前,我们想分享一些我们通常不与大家分享的东西:我们的用户界面设计原型草图。这就是我们所说的蓝本。 跟蓝图类似,这些都不是最终的原型,只是比线框图要好一点,会给我们提供一种客户可能会使用的用户界面。 我们期望你们能够逐步了解我们的这个设计原型图,并通过填写我们的简短调查来给出反馈。 新的Visual Studio 安装体验   根据您的需求,选择合适的安装 我们希望得到的其他反馈信息是关于如何将“工作负载” 整合在一起。Visual Studio 会有一个高级设置的安装选项,以便于你可以精确地安装所需功能。在Visual Studio “15“ 中,我们将会给你提供比现在的VS更多的控制能力。大多数情况下,客户告诉我们,他们只想要安装一个“工作负载”,如C++桌面开发或C# web 开发 。 我们一直在研究合适的整合工作负载应该是什么样的,也提出了以下分类: 通用的Windows 平台开发…

0

使用Visual Studio 2015的版本控制新功能来提高工作效率

[原文发表地址]: Improved Productivity with new Version Control Features in Visual Studio 2015 [原文发表时间]: June15, 2016   无论您是在与一些朋友做一个项目,还是正在开发企业软件,源代码管理可都是必须的。随着开源软件和协同工作的出现,源代码管理成为开发者工作流程中一个越来越重要的组成部分。我们在之前的两个更新中都尽力改善Visual Studio源代码管理用户体验,而且会持续改进的! 我们尽力适应各种用户所使用的源代码管理供应商提供的功能,并且去维护一些可扩展的功能。为此,我们已经创建了一些新产品,当这些用户使用源代码管理时,无论他们是哪家提供商,应该都可以帮助他们更有效地工作。 我们认为,对你的项目进行源代码管理是非常重要的,并且对你来说应该是小菜一碟,所以我们已经在Update2中添加了发布按钮,去帮助您把代码推送到你自己选择的服务器上。开箱即用,您可以发布代码到 Visual Studio Team Services而不是像GitHub和其他源代码主机那样需要持续更新他们的扩展去支持发布到他们自己的站点上。我们一直致力研究将源代码管理信息展现出来,去帮助跟踪你的状态和所做的改变,并允许您快速进入您操作最频繁的源码控制操作。从Update2开始,这些新功能是完全可扩展的,它们可以被自定义以满足每一个供应商的需求。Git使您能够快速发布一个Git存储库并密切关注您的分支上那些未提交的和未发表的更改,AnkhSVN也会在它们即将发布的版本中添加这些扩展的支持。 我们看到在近几个月,Git的使用率有着难以置信的增长,已经有将近60%的使用源代码管理的解决方案都使用了Git!因此,我们也为Git用户做了一些具体的投资。 包括了太多的项目,怎么办?使用Visual Studio Team Services 无限的Git存储库中,完全不用担心运行空间! 在最新的Team Explorer页面,我们简化了提交的工作流程。只需输入所有提交消息并点击提交来保存所有更改的快照。想要更好地控制吗?我们现在支持载入和未载入文件,这样你就可以提交指定的更改文件。 在Visual Studio和操作Git命令之间怎么切换呢?现在你不必担心丢失上下文或不匹配的信息。通过Team Explorer的新的Git互操作性,在命令行上做的任何操作将立即反映在Team Explorer,反之亦然。   源码管理是比以往更加重要,我们的目标是提供一些使您更高效更乐意使用的功能。我们喜欢听到您的反馈,包括我们已有功能和未来我们能做什么以改善您的体验随时通过 allisb@microsoft.com 联系Allison,提出您的意见和建议。

0

Visual Studio 2015 Update 3 发布候选版

[原文发表地址]: Visual Studio 2015 Update 3 RC [原文发表时间]: June 7, 2016   今天, 我们分享一下Visual Studio 2015 Update 3 RC 的信息。这个发布候选版本主要侧重于稳定性,性能以及bug的修复,但我们也有一些功能更新。我将在本文后面的部分分享这些要点。 Apache Cordova工具。这次更新包括TACO Update 9 和TACO Update 10, 为Intune、Azure engagement、安全性和SQLite存储添加了相应的的插件,并且可以通过npm包名或ID从配置设计器来添加插件,同样也支持 Cordova 6.1.1。 Application Insights 和 HockeyApp。7.0.1版的开发者分析工具为 ASP.NET 5 RC1和ASP.NET核心RC2工程添加了诊断工具事件。我们也改进了搜索体验:如果你改变了搜索条件如筛选器、日期范围、选定的事件,搜索时会自动刷新,并且你可以从搜索请求和搜索菜单中的”find telemetry for this…”进入到代码中。进一步详细信息,请查阅微软Azure 文档里的版本注释。 诊断和调试。Update 3 RC包括了诊断工具对应用程序在Windows OneCore设备(包括HoloLens和Windows IoT)上运行的支持。现在, 当FASTLINK启用时, 您将在C++ 编辑和继续调试上获得更好的性能和可靠性。我们还改进了XAML的界面调试,“实时可视化树” 中新的焦点跟踪功能会根据在可视化树中选定内容的改变,来更新当前获取焦点的元素。 Visual Studio集成开发环境。此次更新解决了许多用户反馈,关于通过在线身份或密钥用于解锁IDE的订阅。您无需再登录my.visualstudio.com来激活你的订阅。我们已经改进了常见授权问题的错误处理方式。我们也已经开始保护所有的网络链接,比如对服务和隐私声明条款,我们会提供如个人身份信息一样的安全性。此外,我们在通过账户设置对话框来激活订阅和输入产品密钥的可访问性方面也有所改进。 C#/VB/Roslyn。 在这次发布中您将看到许多性能上的改进,包括在整个解决方案中运行代码诊断。想要了解代码诊断性能的改进,请在MSDN上查阅…

0

Visual Studio “15” 中的新工程类型: Desktop to UWP Packaging Project

Tags Tags: UWP [原文发表地址]: Announcing the new Desktop to UWP Packaging Project for Visual Studio “15” [原文发表时间]: May 17, 2016 在2016年的开发者大会上,我们发布了桌面应用转换器,它可以让你把已有的桌面应用程序转为通用的Windows平台应用程序(UWP)。 通过桌面应用程序转换器,所有的Windows平台开发者可以用到很多重要的改进更能。首先,你可以把已经存在的Windows桌面应用程序或游戏转换为UWP包,这样用户可以容易的安装你的应用程序,并且可以体会无缝隙更新。一旦转换成UWP应用程序模式,桌面应用程序将有权访问以前无法访问的的通用Windows平台的API,例如动态磁贴和消息推送功能。   Visual Studio 的“Desktop to UWP Packaging Project” 简介 Visual Studio “15” 为这个新的工程提供了支持,这样可以使它更容易地创建和测试那些通过Desktop Bridge直接从Visual Studio中进行转换的应用程序,使你的开发体验更有效率: · 该工程有一个配置文件,当你编辑桌面应用程序的binaries文件后,它允许Visual Studio直接部署更新到UWP应用包。 · 当你在Visual Studio中按下F5,就可以直接启动并调试UWP应用程序。你可以在已有代码中设置断点并进行单步执行。   启用对“Desktop to UWP Packaging Project”的支持 想尝试此功能,需确保你已经设置了使用桌面应用程序转换器。 请确保你正在运行的是Windows 10 Insider Preview Build…

0

.NET 框架兼容性简介

[原文发表地址]: Introduction to .NET Framework Compatibility [原文发表时间]: May 2, 2016   前言 从.NET框架4.0开始,所有主版本号为4(称为“4.x”版本)的.NET框架,都会进行就地更新。这就意味着在一段时间内,电脑上安装的只有一个.NET 4.x框架。安装.NET 4.5框架将替换.NET 4.0框架,.NET 4.5.1框架将替换.NET 4.5框架,.NET 4.6框架将替换.NET 4.5.1,以此类推。 由于这些就地更新的特点,原本在.NET 4.0框架上运行的应用程序,在电脑安装的.NET框架升级后,可能需要在.NET 4.6上运行。.NET 4.x框架之间的兼容性是非常高的,因此在.NET 4.x框架下正常工作的应用程序,通常也会在较新版本的.NET框架下正常运行。然而不同的.NET 4.x框架会有一些变化,因此应用程序应该在其将运行的任何版本的.NET框架上测试下。 本文概述了最佳做法和工具,用来使支持新的.NET 版本更容易。   发生了哪些变化?为什么? 对于.NET 团队来说,和之前版本的.NET框架的兼容性,是一个高优先级的工作。事实上,.NET框架所有的更改都是由经验丰富的工程师进行审核,他们会对这些改变在客户的应用程序上的影响进行评估。 尽管如此,仍然存在兼容性问题。原因之一是,在更新.NET框架时,兼容性并不是唯一的优先事项。有时,由于功能性的原因,不得不进行更改,来解决某个安全漏洞,或者是支持某个行业标准。 还有一些偶然发生的兼容性问题。.NET框架团队会进行全面的兼容性测试,以防止这些问题,但仍然会漏掉一些问题。还有更复杂的情况,修复兼容性问题本身就是一种影响兼容性的改变(因为有些用户可能依赖于这些无意的新行为)。在这样的情况下(解决无意的行为更改),.NET框架团队常常会使用一个称为“quirking”的解决方案。   Quirking和目标.Net框架 Quirking指的是对于缓解兼容性问题,在.NET 框架中有两个单独的代码路径,并且选择一种作为应用程序的目标.NET 框架版本的路径。这种方式缓解了许多.NET 框架兼容性的问题,因为应用程序在较新的.NET框架上运行时,只要在没有变化的目标.NET框架中运行,就避免了很多潜在的问题。Quirking行为是被应用程序的目标.NET框架自动确定,但可以由开发人员使用应用程序或计算机配置设置来进行重写。虽然通过奇想行为减轻了很多兼容性的问题,但是由于安全方面的考虑,以及技术上的限制,并不是所有的兼容性问题都可以被Quirking行为解决。 举一个例子,如果一个目标.NET框架是4.5的应用程序,在安装了.NET 4.5.2的电脑上运行,即使在较新的框架上执行应用程序,为了减少兼容性问题,它也会模拟.NET 4.5的行为。 目前, 微软对.NET 4.0,4.5 和 4.5.1已 停止支持,但是需要特别注意的是,根据新.NET框架的支持政策, 以那些低版本为目标.NET框架的应用程序在高版本的.NET框架上的正常运行,将会继续得到支持。 目标版本是在创建应用程序域 (通常是在托管可执行文件启动时)时,由应用程序的主程序集的目标框架属性决定的。此属性可以通过以下方式设置︰ 可以在 Visual Studio…

0

XAML 语言的编辑和继续功能使得UI开发变得更容易

[原文发表地址]: UI development made easier with XAML Edit & Continue [原文发表时间]: April 6, 2016   普通的界面设计容易。但是优美的界面设计还是一件棘手的事情。 Visual Studio想要成为最好的用户体验类工具设计者。因此我们花费大量时间关注你们所面对的挑战,并从中学习,同时也注意到你们尝试解决用户界面问题而倍受鼓舞。终于,我们在Visual Studio 2015 Update 2 和Visual Studio “15” Preview 的微软工具中做出了提高,而且我们非常期待看到你们对它们的想法。 XAML 语言的编辑和继续功能 在运行时调试的最大改进点是Xaml 应用程序的编辑和继续功能。现在这个特征是当你修改一个正在运行的应用程序时它会立刻被你修改。就其本身而言,编辑和使用是惊人的强大。当与用户界面设计工具相结合使用时,开发者可以比以前更快的解决问题。 请看以下的应用程序:   你会看到那里有一些写着“紧急”的小文本框,但这种颜色看上去像是温馨和模糊的粉红色,而不是传达紧急的深红色。我需要解决这个问题。然而实际上,这种颜色是在datatemplate中的listbox所定义的 TextBlock所消耗的资源。如果我对这段代码并不足够熟悉,要搞清楚这整个链还是很有难度的。但是,现在有了用户界面调试工具,一切都变得简单了。 1. 我需要启用应用程序的部分。在我的应用程序的顶部,还有一个可以打开新的应用程序的工具菜单。我也可以在VS中将它打开,但是这样子更快。一旦它打开了,我就能在我所运行的应用程序上简单点击 Urgent元素。 2. 在 Runtime工具里点击Go To Live Visual Tree按钮, VS会跳到前台并且我能看到我的元素。在我的元素后面的小图标是说我有该特定元素的源码并且我点击它就可以到这个元素上。 3. 当我 打开源码后,你会看到这个特定元素是在一个控件模板里。对于编辑和继续功能来讲那不是个问题。我迅速找到我在这儿定义的样式,点击F12跳入到我的样式上。 4. 好的,看起来这个样式正在使用一个源码, 因此我也可以深入这段代码。我可以把鼠标放到“UrgentBackgroundColor”字符串里并且再次使用F12。最终,找到这个值。你可以想象下手动去找的话会有多么棘手,但是F12却使它变得真正简单。 5. 现在我可以只改变该resource里的值并且该改变会立即被反应在正在运行的应用程序上。 XAML…

0