首页 > 代码库 > 终于等到你,最强 IDE Visual Studio 2017 正式版发布

终于等到你,最强 IDE Visual Studio 2017 正式版发布

Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试、实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航、IntelliSense、重构、代码修复和调试等等。无论使用哪种语言或平台,都能节省开发者在日常任务上花费的时间和精力。

 

此外,该版本还带来了一个新的轻量化和模块化的安装体验,可根据需要量身定制安装。多个增强功能汇集在一起,使 Visual Studio 2017 的启动速度比 Visual Studio 2015 快3倍,解决方案加载时间缩短 2-4倍。

 

具体内容如下:

发布日期: 2017年3月7日

 

亮点

 

1、导航增强

Visual Studio 2017 极大地改善了代码导航,并对结果进行着色,提供自定义分组、排序、过滤和搜索。强大的 Go to All(ctrl + T 或 ctrl +,),能对解决方案中的任何文件、类型、成员或符号声明的快速、完整搜索。

技术分享

 

2、无须解决方案加载文件

Visual Studio 2017 可以直接打开并处理 C#、 C ++ 、 Ruby 、 Go 等一系列语言的任何文件。

技术分享

 

3、智能过滤

IntelliSense 现在提供过滤器,帮助得到你所需要的,而不必涉足过多的步骤。

技术分享

 

4、语言改进

添加了新的 C# 语言重构命令,帮助将代码以最新标准现代化。新的风格分析器和对 EditorConfig 的支持能够协调整个团队的编码标准。

 

5、CMake support for C++

可以通过在 Visual Studio 中直接加载 CMake 项目来开始编码。

 

6、Linux support for C++

 Visual C ++ for Linux 开发现在是 Visual Studio 2017 的一部分。

 

7、Live unit testing

顾名思义,实时告诉你单元测试将通过或失败,而不用离开代码编辑器。 

技术分享

 

8、Run to Click

当在调试器中停止在某个中断状态时,将鼠标悬停在一行代码上,你会看到 Run to Click glyph。单击可在该行停止并下次继续以此执行。

技术分享

 

9、Exception Helpers

可立即查看异常的根本原因,即时访问内部异常。此外,可以在抛出异常停止时通过单击复选框添加条件来排除从指定模块抛出的异常类型。

技术分享

 

10、小而轻的安装

Visual Studio 2017 新的安装程序更容易启动和运行。最小安装只有以前版本的十分之一大小,只需一两分钟即可完成安装

 

不想看以下详细概要和说明的,可查看版本亮点博文。

https://blogs.msdn.microsoft.com/visualstudio/2017/03/07/visual-studio-2017-productivity-performance-and-partners/

 

 

概要

 

Develop:快速导航, 编写和修复代码

● 全新的安装体验 - 减少最小占用空间,实现更快、更自定义的安装体验,并支持离线安装。

 

● Visual Studio IDE -  在 Visual Studio 2017 中功能得到大幅提升,包括减少启动和解决方案加载时间、改善的登录和身份验证、改进的代码导航等等。

 

● Visual C++ - 在 2015 到 2017 版本中没有特别重大的改变。但依然带来了更好的 C++14 conformance level、CMake 支持和构建吞吐量,能够提高生产力。

 

● C# 和 Visual Basic - 扩展了对新的 C#7.0 和 Visual Basic 15 语言功能的支持,并引入新的重构,允许你在一个 action 中组织源码。

 

 F# -  支持 F#4.1 语言特性,对 F#编译器和 FSharp.Core 有所改进,以及基于 Roslyn Workspaces 的新编辑器。

 

● JavaScript 和 TypeScript - TypeScript 2.1 适用于 Visual Studio 中的所有 TypeScript 项目。新的 JavaScript 语言服务默认可用并启用。

 

Debug: 轻松调试、配置和诊断

调试和诊断 - 对代码异常辅助程序进行大修,带来了更快的代码导航。 此外,在“诊断工具”窗口中还有对应用事件的新摘要以及对 CPU 工具的几项改进。

 

Test: 用全面的测试工具编写高质量代码

● Live Unit Testing - 在编辑器中可视化单元测试的结果和代码覆盖过程。

 

● Testing Tools - 使用测试浏览器将自动化与测试用例工作项进行关联。

 

Collaborate(协作): 使用版本控制,敏捷、高效协作

● Team Explorer 中全新的 Git 功能和升级的 connect 体验 - 在 Visual Studio 2017 中可以使用 Git 实现更多功能,并轻松找到你要 connect 的项目和 repos。

 

● Visual Studio 工作反馈流程改进 - 更协同的 Report-A-Problem。搜索、关注和投票,获得所有最新、最近的反馈。

 

Extend: 通过构建扩展自定义喜好

● Visual Studio Extensions - 通过构建自己的扩展来自定义 Visual Studio。

● Discoverability of Project and Item Templates - Visual Studio 在使用项目和项目模板来改进性能的方面有重大改进。

 

Equip: 利用工具提高生产力并探索新功能

● .NET Core and ASP.NET Core - 包含新的基于 MSBuild 的 .NET Core  1.0 最终版。使用Visual Studio 2017,你可以创建使用新的 csproj 格式的 .NET 标准库、.NET Core 应用/库和 ASP.NET Web 项目。

 

● Tools for Universal Windows App Development - 包含新版本的 .NET Native toolchain, 、.NET Core NuGet 框架、新的生产力工具,以及对 Windows 10“Creators Update”SDK 的支持。

 

● Xamarin - Xamarin 4.3 添加了对 tvOS 的支持,同时还改进了 iOS Assets Catalog 的支持和 XML 的编辑体验。

 

● Visual Studio Tools for Apache Cordova - 一个全新的 browser-based 模拟器使你能够快速编码并立即查看结果。

 

● Node.js Tools for Visual Studio - 更新侧重于提高稳定性、性能和整体产品质量。

 

● Visual Studio Tools for Unity - 现在可以从新的 Visual Studio 安装包中的“Game Development with Unity” workload。

 

● Redgate Developer Tools Core Edition - 为了将 DevOps 功能扩展到 SQL 数据库开发,Visual Studio 现在包含了 Redgate 开发工具核心版,包括 Redgate ReadyRoll、SQL Search 和 SQL Prompt。

 

● NuGet - NuGet 现在支持将包依赖信息直接存储在项目文件中作为包引用。

 

● Tools for XAML Apps - XAML 运行时工具栏现在允许跟踪焦点。 XAML 编辑器的改进和性能优化大大提高了 XAML 的生产力。

 

● Data Tools and SQL Server - 最新的 SQL Server Data Tools 支持 Azure SQL 数据库和 SQL Server 2016 中的最新功能。

 

● Developer Analytics Tools - Visual Studio 2017 包含的 Developer Analytics Tools v8.6,对 Visual Studio 中的 Application Insights 和 HockeyApp 功能进行了许多改进。

 

● Office Developer Tools for Visual Studio - 包含带有最新版本和功能的 Office 开发工具。

 

● Live Architecture Dependency Validation - 依赖性验证图实时通知。

 

● Developer Command Prompt -  脚本重构以支持新的安装体验。

 

● Azure SDK for .NET - 现在可从新的 Visual Studio 安装包中使用。

 

 

Visual Studio 2017 中新增功能

技术分享

IDE 的改进

● Visual Studio 已经经过优化,减少了启动时间和解决方案加载时间。首次启动 Visual Studio 至少快 50%。

 

● Visual Studio 现在将监控解决方案加载或编辑的扩展性能。可通过 IDE 中的通知栏收到有关性能不佳的扩展的警报。新的性能中心(帮助>管理 Visual Studio 性能)不仅可以查看影响性能的扩展,还可以发现影响启动性能和更改其启动负载行为的工具窗口。

 

● 可以在新的 Visual Studio 安装程序中选择安装 Visual Studio 的 GitHub 扩展

重新加载所有项目已被替换为重载解决方案,以在切换到 VS 外部分支时支持更好的性能。当使用 Git 命令行切换分支时,在分支切换后选择重载解决方案以实现最大性能提高。

 

● .NET Core 和 ASP.NET Core 项目的文件全局功能已增强。参阅 project file globbing 以了解更多细节。

 

● 克隆后,现在将自动转到存储库的文件夹视图。可以使用解决方案资源管理器中的新解决方案选择列表查看文件。

 

起始页

重新设计的起始页具有新的 “打开和创建” 功能:

● 从 VSTS 获取远程仓库或使用 MRU 轻松打开本地项目和解决方案。

 

● 起始页 MRU 显示在其他计算机上克隆的仓库,以便可以轻松地在当前计算机上克隆它们。

 

● 直接从起始页面创建一个可搜索模板的新项目和最近使用的模板列表。最近使用的模板还将使用个性化帐户在 Visual Studio 实例之间漫游。

 

● 通过起始页面上的 “从 VSTS 导出” 选项,从体验来自 VSTS 的快速启动新的克隆

可解除的 “开始使用” 部分。

 

● 精细的视觉设计,以处理较小屏幕上空白空间的利用。

新的起始页如下所示:

技术分享

 

改进代码导航,在 Visual Studio 2017 中对代码导航功能进行了重大改进:

● 跳转到全部 (Ctrl +, or Ctrl + T) 可让你快速找到并转到代码中的文件,类型,方法和其他元素。即使在大型代码库中,也可以找到任何种类项目。在 C# 和 Visual Basic 中,还添加了 “模糊” 匹配,如果你拼写错一个类型名称,仍然可以搜索得到结果。还实现了 Go To Line(Ctrl + G)。该功能让你在编辑菜单的顶部找到 Go To 系列命令。

技术分享

技术分享

 

● 查找所有引用 (Shift+F12) 也已经过重大改进 (目前仅支持 C#, Visual Basic, 和 C++),提供高级分组,过滤,排序,在引用结果中搜索以及高亮结果(适用于 C# 和 VB),所以你可以清晰理解你的引用,并获取所需的代码行。在鼠标悬停在引用的项目上时,会有一个悬浮提示,其中包含源代码中的引用上下文(适用于 C# 和 VB)。通过切换工具栏中的保持结果按钮,下一次调用查找所有引用将在新窗口中填充引用结果。这允许你在当前窗口中保留当前结果。

技术分享

 

● 结构引导线现在在编辑器中已重新绘制,以便可以轻松地查看正在使用的代码的结构。当鼠标悬停时,将显示包含当前代码块相对于其祖先块的上下文的悬浮提示。该功能当前支持 C#, Visual Basic 和 XAML 文件,以及通过 TextMate 语法支持的任何文件。(在 “工具”>“选项” 对话框中,通过取消选中 “文本编辑器” >“ 常规” 类别下的 “显示结构引导线” 复选框禁用此功能)

技术分享

 

Visual C++

C++ 代码分析

用于执行 C++ 核心指南的 C++ 核心检查器现在与 Visual Studio 一起发布。只需在项目属性页中的代码分析扩展对话框中启用检查器功能,运行代码分析时就会自动引入该扩展。

技术分享

 

C++ 编译器

更新了 C++ 编译器和标准库,增强了对 C++11 和 C++14 功能的支持,以及对 C++17 标准中某些功能的初步支持。要注意的是,编译器仍然缺少 C++11 和 C++98 标准中的一些功能。Visual Studio 2017 允许将 /sdl 和 /await 一起使用。

 

此版本在优化和代码生成方面带来了几个改进。一些显着的改进包括:

● 改进的循环代码生成:支持自动向量化的常数整数除法,更好地识别 memset 模式

 

● 改进代码安全性:改进缓冲区溢出,而且 /guard:cf 现在可保护生成跳转表的 switch 语句

 

● 当使用协同例程时,Experimental 关键字 “yield” 已删除。你的代码应该更新为使用 “co_yield”。

 

C++ 库

● [STL] basic_string 的性能改进

● [STL] 增加了 <any>, <string_view>, apply(), make_from_tuple()

● [STL] std::vector 在正确性和性能方面已经进行了重大改进

● [STL] The STL 现在避免取消引用空花括号指针

● [STL] 添加了 <optional>, <variant>, shared_ptr::weak_type, 和 <cstdalign>.

● [STL] 有关 STL 改进的完整列表,请参见:Visual C ++团队博客

 

 

下载地址:

● Visual Studio 2017 社区版(适用于学生、开源和个人开发人员的功能完备的免费 IDE)

https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15

 

● Visual Studio 2017 专业版(适用于小型团队的专业开发人员工具、服务和订阅权益)

https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Professional&rel=15

 

● Visual Studio 2017 企业版(满足所有规模大小的团队的要求质量和规模的端到端解决方案)

https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Enterprise&rel=15 

终于等到你,最强 IDE Visual Studio 2017 正式版发布