CMake支持Visual Studio – 代码分析和CMake 3.11

[原文发表地址] CMake Support in Visual Studio – Code Analysis and CMake 3.11 [原文发表时间] 2018/05/02 Visual Studio 15.7预览版本4现已发布,除了预览版3中添加的目标视图和单个文件编译 功能外,这次我们添加了其它的CMake功能。我们尽可能保持Visual Studio中兼容的CMake版本是最新的,所以我们已将CMake版本更新至3.11。我们也很兴奋地宣布CMake项目现在支持以前需要利用VCXProj的IDE代码分析功能。 请下载预览版本并查看最新的CMake功能,例如目标视图,单个文件编译以及何时配置项目的更多控制。与往常一样,我们很乐意听到你的反馈。 如果你刚开始接触Visual Studio兼容的CMake功能,请查看博客如何开始。 CMake项目的代码分析 在最新的预览版本中,你现在可以在CMake项目上运行Visual Studio的全面代码分析工具。目前,你可以在目标级别运行代码分析。运行单个文件或者整个项目的代码分析选项即将推出 要在CMake目标上运行代码分析,你可以从CMake菜单中选择”运行代码分析”选项: 或者,如果你使用的是目标视图,只需要右键单击目标然后选择“运行代码分析”选项: 所有检测到的分析错误或警告都将显示在输出窗口中: 默认情况下,CMake项目使用”微软本机推荐规则”规则集,但可以通过修改CMakeSettings.json文件来更改该规则。只需将”CodeAnalysisRuleset”标记添加到配置中,并使用规则集文件的名称或路径即可。 CMake 3.11 为确保你的项目可以利用最新且最好的CMake功能,我们将Visual Studio中兼容的CMake版本从3.10升级到3.11。你可以在CMake 3.11发行说明中找到CMake 3.11的完整增强列表。 发送反馈 你的反馈是确保我们能够提供最佳CMake体验的关键部分。我们很想知道Visual Studio 2017 Preview如何为你工作。如果你有任何特定于CMake Tools的反馈,请联系cmake@microsoft.com。对于一般问题,请报告问题。 

0

C ++代码分析:命令行配置规则

[原文发表地址]:C++ code analysis: configure rules from the command line [原文发表时间]:2018年4月9日 [作者]:Sunny Chatterjee 和 Andrew Pardoe 这篇文章由Sunny Chatterjee和Andrew Pardoe撰写。 Visual Studio 15.7预览版3引入了一个新的MSVC编译器开关,/analyze:ruleset用于配置代码分析运行。 此开关的主要目的是用以支持使用C ++代码分析而不使用MSBuild过滤规则的开发人员。 但是,使用MSBuild进行代码分析的开发人员也从这种开关中受益:代码分析运行速度更快,从而提高了编译吞吐量。 什么是代码分析规则集? 代码分析规则集允许您选择在分析代码时看到的代码分析结果。 代码分析规则集可以在项目>属性>代码分析>常规 中找到。 默认情况下,新的C ++项目已选择规则集“Microsoft Native Recommended Rules” 您可以从突出显示的下拉列表中选择您希望应用于项目的规则集。 Visual Studio附带了一些您可以选择的内置规则集。 它们位于%VSINSTALLDIR%\ Team Tools \ Static Analysis Tools \ Rule Sets中。 我们正在增加这套规则 – 请继续关注VC博客,了解更多信息。 您也可以创建自己的自定义规则集并将其应用于您的项目。 要创建自定义规则集,请转至文件>新建>文件>常规>代码分析规则集。 在Visual Studio 2017 15.7版预览版3之前,每次运行C…

0

宣布C++单元测试的CodeLens

[原文发表地址] :Announcing CodeLens for C++ Unit Testing [原文发表时间] 2018/4/09          如果你刚开始使用C++单元测试,请访问我们的开始测试向导。          Visual Studio 的C++开发者现在可以尝试他们第一次的CodeLens!尤其是Visual Studio 2017 15.7 预览版 3的专业版和企业版都为单元测试提供了CodeLens. 这里有几种方式去初始化你的 CodeLens: 编辑并且生成你的测试的项目/解决方案 重新生成你的项目/解决方案 在测试 浏览窗口运行测试         执行上述任何操作之后,CodeLens 将会出现在你的单元测试中。CodeLens 允许你可以直接在源文件中去运行,调试并且可以访问你的单元测试的状态。测试状态指示器与测试资源管理器中的测试状态指示器相同:(警告:成功:失败:) 要更新测试状态,您可以直接从CodeLens上方运行测试,使其高于所需的测试方法。   如果您的测试失败了,又可以很容易的看到错误信息并且可以直接从CodeLens进行调试。 反馈         最后,如果您运行有任何的错误让我们知道,通过 点击帮助-> 发送反馈->报告问题去Visual Studio IDE。另外您可以在Developer Community访问已知的问题,添加评论和快速投票项目。您也可以在Twitter @nickuhlenhuth上找到我们。

0

C++核心检查在Visual Studio 2017 预览版 2

[原文发表地址] C++ Core Checks in Visual Studio 2017 15.7 Preview 2 [原文发表时间] 2018/3/22          C++ 核心准则检查扩展有了几个新的规则在 Visual Studio 2017 预览版2上。这次迭代主要在于检查,这将使从指南支持库中采用实用程序变得更加容易。         以下是对这些补充的简要总结。 有关更多详细信息,请参阅MSDN上的文档:C++核心指南检查器参考。         如果您刚开始使用本机代码分析工具,请参阅我们的介绍性快速入门:C / C ++代码分析。 新的规则集         在此版本中添加了一个新的规则类别,其中可以在项目设置对话框中选择规则集文件。 GSL规则          一些新的规则试图帮助捕捉有关如何使用跨度和视图类型的细微问题。 一旦现代的安全记忆处理实践得到采用,捕捉这些问题就变得更加重要。 此外,还会推出一些来自指南支持库的有用实用程序,以便使用户代码更安全,更均匀 新规则 界限规则 C26446 USE_GSL_AT         这个规则建议,只要没有执行范围检查的下标运算符被调用,就使用更安全的索引函数版本。        该规则也是GSL规则集的一部分。 函数规则 C26447 DONT_THROW_IN_NOEXCEPT        此检查适用于标记为“noexcept”的函数,并指向这些函数调用可能会抛出异常的代码的地方。 GSL规则 C26445 NO_SPAN_REF         当遗留代码迁移到指向内存缓冲区的新类型时,可能会发生一些细微问题。其中一个问题是,如果遗留代码用于引用容器(如矢量或字符串等),则可能会发生跨度或视图的意外引用。 C26448 USE_GSL_FINALLY…

0