宣布模板智能感知

[原文发表地址] https://blogs.msdn.microsoft.com/vcblog/2018/06/26/template-intellisense/

[原文作者] Nick Uhlenhuth

[原文发表时间] 6/26/2018

使用函数模板和类模板的C++开发人员现在可以在模板体中的充分利用智能感知。在Visual Studio 2017 15.8 Preview 3中,当您的插入符号位于模板中时,一个名为“模板栏”的新UI元素会出现在模板定义的旁边,模板栏允许您为智能感知提供示例模板参数。

例如,让我们在algorithm.hpp里面看一下函数模板is_partitioned_until的Boost库 (我对此稍作修改) 。 我们可以使用模板栏为智能感知提供一个 InputIterator类型和UnaryPredicate 类型的示例。

  • 单击<T>图标以展开/折叠模板栏。
  • 单击铅笔图标或双击模板栏以打开编辑窗口。

请注意我们能够在名为myPredicate的UnaryPredicate 上使用decltype 。有了这些信息,我们在编辑模板主体时就拥有了智能感知的全部功能。我们得到了所有恰当的曲线,快速信息,参数帮助等。

我们考虑到模板栏信息是针对特定用户的,因此将它存储在.vs文件夹中,而不是在提交时共享。

下一步是什么呢?

下载最新的Visual Studio 2017 Preview预览版并尝试使用您的项目。要禁用/启用该特性,请转到工具>选项>C/C++>高级>智能感知>启用模板智能感知。

我们将在后续版本中继续改进这个特性。我们已经计划支持嵌套模板并处理Visual Studio外部的编辑。

和所有新特性一样,您的反馈对于指导我们的发展非常重要。您可以在Twitter上@nickuhlenhuth向我发送您的反馈,或者联系Visual Studio C++团队@visualc或visualcpp@microsoft.com。