Visual Studio 15.5 预览版1产品改进:结构可视化,Ctrl+单击转到定义,更快的查找所有引用以及其他更多的部分

[原文发表地址]Visual Studio 15.5 Preview 1 Productivity Improvements: Structure Visualizer, Ctrl + Click Go to Definition, Faster Find All References, and More [原文发表时间]2017/10/11 Visual Studio 2017更新15.5预览版1为您带来许多生产力和性能的改进,作为一名C++开发人员,这些改进能节省您的时间。在此版本中,我们从产品生产力工具扩展引入了两个功能 :可视化结构以及快捷键Ctrl+单击转到定义。此外,我们还显著提高了一些代码导航和重构操作的性能。 结构可视化 & Ctrl+单击转到定义 结构可视化能使您一目了然的清楚您的代码构造方式,以及是如何嵌套的。通过编辑器窗口中的虚线指示,您可以很快地看到它在组织每个逻辑块代码中的作用。在代码行上滑动直到光标指向的位置能给您显示出代码的层次布局。 需要注意一个限制:原结构可视化扩展为编辑器窗口中的滚动条提供了一个进一步的改变,但是在这个产品版本中没有。 第二个改进是在编辑器窗口中使用Ctrl+单击一个代码符号能快速的跳到它的定义,而不是按F12,或者右键单击并选择上下文菜单中的此选项了。 您可以通过使用工具->选项->文本编辑器来更改这些功能的特性或者完全禁用这些功能。 如果要禁用Ctrl+单击转到定义这个功能以及返回到以前的行为来选择符号,只需要取消“启用鼠标点击执行去定义”复选框即可。或者,您可以将您使用的辅助按钮改成单击Alt 或者Ctrl+Alt,或者选择执行“Peek 定义”,而不是“转到定义”。它使得当前编辑器窗口打开,并显示具有定义位置的内联式弹出窗口。您可以使用“显示结构指南”复选框启用或禁用结构指南。 IDE的性能改进 我们知道Visual Studio性能是影响开发人员生产力的另一个方面,我们一直努力让它变得更好。这一次,我们集中致力于一些使用智能感知的代码导航和重构方面的工作。以下特性在15.5预览1中有显著的性能改进: 找到所有引用 重命名 更改签名 对于一些改进的可视化,下面是对Chromium工程(3500个程序)进行的测试运行:   尝试下15.5预览1版本 大多数人都在Visual Studio安装程序的发布通道中,这确保在他们不再处于预览状态后你们能获得更新。要获得最新的,最前沿的预览更新,包括15.5预览1,以及在发布的博客“订阅预览频道”中所提到的一切,您可以既安装发布版本,也安装Visual Studio2017的预览版本。这样您就可以在不耽误您当前工作的同时使用最新的部分。 我们感谢所有的反馈,这样在每一次发布的版本中,VisualStudio能变得更好。请通过产品中的帮助->发送反馈菜单向我们发送任何错误报告或建议。  

0

MSVC已经支持“Two-phase name lookup”

[原文发表地址] Two-phase name lookup support comes to MSVC [原文作者] Andrew Pardoe [MSFT] [原文发表时间] 2017/9/11 “Two-phase name lookup” 是一个非正式术语,指的是一组被用于模板声明中控制名称解析的规则。这些规则在二十年前已经被形式化,试图调和两个相反的模板编译模型:包含模型(大多数开发人员知道的模板模型)和分离模型(模板原始设计的基点)。你可以在基础论文“Proposed Revisions to the Template Specification”找到依赖名称的起源,坚定地依据一个定义原则。如果你有兴趣深究细节的话,你可以在C++17标准草案的17.6节((stable name [temp.res]))中查找这些规则。在过去的几个月,MSVC编译器还不支持“Two-phase name lookup”规则下大多数可用代码。我们将在未来的VS2017更新中去完成此功能。 你需要使用‘/permissive-’一致性开关在VS2017 15.3打开“Two-phase name lookup”功能。“Two-phase name lookup”彻底改变了一些代码的含义,因此在当前的MSVC版本中默认情况下不开启此功能。 这篇文章准确的讲了”Two-phase name lookup”意味着什么,MSVC目前实现了什么,以及如何有效地利用MSVC对“Two-phase name lookup”的支持。即使你希望你其余代码严格符合标准,我们也会告诉你如何停用此功能。最后,我们解释为什么我们花了很长时间才走到这里——这些规则至少已经是25年了。 什么是“two-phase name lookup”? C++最初模板设计意味着完全按照“模板”术语进行实现:一个模板可以压制类和函数。它允许和鼓励,但不强求提前检查非依赖名称。因此,在解析模板定义时不需要检查标识符,相反,编译器被允许延迟查找名称,直到模板被实例化。类似地,实例化之前,模板的语法不需要验证。基本上,在模板实例化时,模板中使用的名称才被确定。 按照这些原始规则, 以前版本的MSVC做了非常有限的模板解析。特别地,在实例化之前模板函数体没有被解析,编译器记录模板体为当模板需要初始化的时候被反复的令牌流,那么这个模板是可能是候选的。 我们来看看这段代码是什么意思。 链接提供给在线编译器,以便您在阅读本文时可以使用代码。 第7行调用哪一个重载函数呢?void*重载在模板定义的时候已经定义在了第5行。而函数void func(int)在模板定义时还不存在。因此,14行的模板函数void g(T x)应在第5行调用第3行的函数void func(void*)。 当编译符合标准规则时,程序输出“The call resolves to…

0

Visual Studio 2017中的C ++开发人员的Visual Studio扩展

[原文发表地址] Visual Studio extensions for C++ developers in Visual Studio 2017 [原文发表时间] 2017/8/29 在这个博客中,我们要强调几个Visual Studio扩展,如果您使用Visual Studio 2017或考虑升级,可以使您的C ++开发人员的生活更美好。我们也听说过许多人在Visual Studio 2017上没有提供某些C ++扩展,阻止您转移到最新版本。我们想通知您,我们正在解决这些反馈,您提到的许多扩展程序现在可以在Visual Studio 2017上使用。 我们很高兴地宣布,以下扩展程序现在可用于Visual Studio 2017。 扩展名 说明 C++ Quick Fixes 此扩展允许您将鼠标悬停在一个波浪上以获得LightBulb,或使用默认键盘快捷键Ctrl + Dot(Ctrl +.)来了解如何快速修复代码中的问题。 Macros for Visual Studio Macros for Visual Studio是VS的一个扩展,VS可以使用这个扩展来自动执行IDE中的重复任务。这个扩展可以记录Visual Studio中的大部分命令,包括文本编辑操作。 PdbProject 可以直接从PDB中创建一个.vcxproj以便快速的代码浏览和智能感应。 Test Adapter for Boost.Test 适配器可以自动地发现单元测试并使IDE工具可以基于Boost.Test框架运行和管理单元测试,参照测试执行结果以及Visual Studio Enterprise用户来检查代码覆盖率。 Test Adapter…

0

Visual Studio支持CMake – 包括CMake 3.9的更新,支持Linux系统已及对一些反馈的改进

[原文发表地址] CMake support in Visual Studio – CMake 3.9, Linux targeting, feedback [原文发表时间] 2017/9/14 Visual Studio 2017 15.4 Preview 2现在可用,包括对Visual Studio的CMake工具的增强。最新的预览将CMake升级到3.9版本,包括的更好地支持独立的CMakeLists,并支持直接定位Linux。 请查看预览并尝试使用最新的CMake功能。如果您刚刚开始使用CMake,请按照链接详细了解Visual Studio中的CMake支持。我们期待您的反馈。 CMake工具升级到 CMake 3.9 您可以在CMake 3.9发行说明中找到关于增强功能的完整列表。 更好地支持包含多个独立CMakeLists的文件夹 最新的预览改进了对包含多个独立CMake项目的文件夹的支持。当您打开一个独立项目的文件夹时, CMake项目中的所有目标都应该被检测到。 此功能在预览中确实有一些限制。例如,如果根文件夹中有CMakeLists,则可能无法正确检测到子文件夹中的独立CMakeLists。请让我们知道这是否会对您的项目产生负面影响。在此之前,您可以直接打开子文件夹来解决这个限制。 CMake 支持 Linux Visual Studio现在支持使用CMake直接定位Linux。 此功能允许您无需修改即可打开Linux项目,在Windows上使用完整的IntelliSense进行编辑,并在远程Linux目标上进行构建和调试。另外,Visual Studio解决了远程目标的链接问题,因此您不必担心设置SSH通道。这应该使跨平台开发变得轻而易举,因为您可以通过在下拉列表中切换配置来在Windows和Linux之间切换。如果您想了解更多信息,请查看使用CMake直接定位Linux。 错误修正和改进 你们给了我们反馈,我们听了。Visual Studio 2017 15.4预览1包含几个改进和解决社区报告的错误。 以下问题已在最新预览中修复: 无法使用CMake构建解决方案,因为无法找到生成器。 开发者社区:98850 CMakeSettings.json不能放在’.vs’文件夹中。 开发者社区:81812 无法从CMake“打开文件夹”启动/调试DLL。 开发者社区:82176 Launch.vs.json不支持正确支持环境变量。 开发者社区:81798 未设置CMAKE_VS_DEVENV_COMMAND变量。 开发者社区:75609 给我们反馈…

0