● 跳转到全部 (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)
● Visual Studio 2017 专业版(适用于小型团队的专业开发人员工具、服务和订阅权益)
● Visual Studio 2017 企业版(满足所有规模大小的团队的要求质量和规模的端到端解决方案)