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 新的安装程序更容易启动和运行。最小安装只有以前版本的十分之一大小,只需一两分钟即可完成安装。

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

概要

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(协作): 使用版本控制,敏捷、高效协作

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

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

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”。有关更多信息,请参阅 Visual C ++ 团队博客

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 ++团队博客

完整发布日志点此查看

下载地址:

相关链接

最强 IDE Visual Studio 2017 正式版发布的更多相关文章

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

    Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...

  2. Visual Studio 2017正式版发布全纪录

    又是一年发布季,微软借着Visual Studio品牌20周年之际,于美国太平洋时间2017年3月7日9点召开发布会议,宣布正式发布新一代开发利器Visual Studio 2017.同时发布的还有 ...

  3. .NET十五周年生日快乐 (3月7日发布Visual Studio 2017正式版?)

    今天 是.NET 对世界首次亮相15 周年.2002 年 2 月 13 日,第一版本的.NET 发布作为 Visual Studio.NET 的一部分.它仿佛就在昨天为微软建设成"下一代 W ...

  4. Visual Studio 2017正式版安装

    Visual Studio号称宇宙第一IDE, 2017年3月7日强大的微软帝国时隔两年多终于发布新一代IDE Visual Studio 2017.支持的功能简直不能太多,详情移步:https:// ...

  5. Visual Studio 2017正式版离线安装及介绍

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

  6. Visual Studio 2017正式版离线安装方法

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

  7. Visual Studio 2017正式版使用一些疑问

    刚升级完2017,是从2015升上去的,总体没有什么大的问题,就是报了一些ts的类型检查的问题,最重要的就是编译速度变得好慢啊,希望尽快出来补丁修复,以前一个解决方案只要10+秒,现在要50秒,表示体 ...

  8. 微软正式提供Visual Studio 2013正式版下载(附直接链接汇总)

    转自 http://www.iruanmi.com/visual-studio-2013/ 微软已经向MSDN订阅用户提供了Visual Studio 2013正式版镜像下载,只是非MSDN用户能够在 ...

  9. 【VS2015正式版下载】Visual Studio 2015 正式版开放下载 Visual Studio 2015 神key

    说明: 微软定于2015年7月20日发布Visual Studio 2015正式版,目前其官方网站已经提供正式版本的下载. 可在https://www.visualstudio.com/en-us/d ...

随机推荐

  1. 使用sublime一键格式化XML文件

    1 sublime简介 sublime是一款代码编辑和阅读软件,体积小,运行快,界面非常简洁漂亮.官方地址:https://www.sublimetext.com/ 2 在sublime上安装插件 使 ...

  2. web后门排查与高效分析web日志技巧

    今年一直大大小小的事情忙,很少有时间能静下心写个文章,所以最近博客更新也越来越少了,公司现在安全团队在我这边,一直在玩命的招人.下个月8号有一个互联网金融的会,4月在qcon北京站,都以嘉宾的身份去分 ...

  3. centos vpn client set

    http://my.oschina.net/fishman/blog/96227 先检查服务器是否安装过 ppp, pptp, pptp-setup, 如果没有, yum -y install  安装 ...

  4. TCP简单通讯

    客户端代码: package com.kaige123.net01; import java.io.IOException; import java.io.InputStream; import ja ...

  5. c# 对象 &amp; 类

    类定义中可以使用的访问修饰符组合 none or internal 类只能在当前工程中访问 public 类可以在任何地方访问 abstract or internal abstract 类只能在当前 ...

  6. 哆啦A梦欺骗了你!浏览器CSS3测试遭质疑

    首先,说明,此处只是告诫各位参与CSS3.0学习使用或者将要使用或者学习CSS3.0的朋友,不要完全信任网络资源,依靠网络资源,我们需要利用网络资源的方便和可取的部分,结合自己的理解,学好,理解好! ...

  7. mt19937 -- 高质量随机数

    优点:产生速度快, 周期大 用法: #include<bits/stdc++.h> using namespace std; int main() { mt19937 mt_rand(ti ...

  8. [转]从OSI网络模型到TCP/IP协议族简介

    OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信 ...

  9. bzoj 2535 &amp;&amp; bzoj 2109 [Noi2010]Plane 航空管制——贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2535 https://www.lydsy.com/JudgeOnline/problem.p ...

  10. [hdu2460]network(依次连边并询问图中割边数量) tarjan边双联通分量+lca

    题意: 给定一个n个点m条边的无向图,q个操作,每个操作给(x,y)连边并询问此时图中的割边有多少条.(连上的边会一直存在) n<=1e5,m<=2*10^5,q<=1e3,多组数据 ...