VisualStudio代码C/C++扩展2017年6月更新

今天,我们很高兴地宣布发布2017年6月更新的 VisualStudio代码的C/C++扩展 . 此更新启用语义感知成员列表自动完成,并改进了整体默认的IntelliSense行为,提供了更流畅的开箱即用的IntelliSense体验。

null

如果您以前没有尝试过,请下载 VS代码(稳定构建) VS代码内部人员 . 然后下载 VisualStudio代码的C/C++扩展 尝试一下。如果已经安装了此扩展,VS代码将通知您更新并自动安装。

图片[1]-VisualStudio代码C/C++扩展2017年6月更新-yiteyi-C++库

这个 原创博客文章, 哪一个 提供此扩展的概述, 已更新这些更改。

改善智能感知体验

在上个月的更新中,我们增强了原始标记解析器IntelliSense引擎的操作,该引擎通常提供“fuzzy” 使用新的、更强大的语义引擎编辑功能的结果。这个新引擎提供了提供更高效的语言服务特性的能力。与5月份的更新一样,新引擎在默认情况下仅为 VS代码内部人员 . 不过,我们鼓励其他人自己尝试一下,方法是更改您的应用程序中的“Cu Cpp.intelliSenseEngine”设置 设置.json “标记分析器”中的文件 “默认”.

更新includePath以查找所有头之后,新的IntelliSense引擎将能够为类/结构/命名空间成员、快速信息工具提示和错误扭曲(linting)提供更准确的自动完成建议。新的IntelliSense引擎尽可能作为默认引擎使用。在引擎返回错误的情况下,扩展动态地回退以对打开的文件使用标记解析器。请参阅“回退如何工作以及如何控制行为”一节 详情请参见下文。

成员列表自动完成

与标记解析器不同,新的语义引擎可以确定类型,因此在您键入“.”、“->”或“:”时,可以提供更简洁、更准确的完成项列表。

请注意,键入“:”或在未提供作用域字符的情况下提供快速建议时,此功能不会在全局范围内启用。标记解析器继续为这两种情况提供建议。

图片[2]-VisualStudio代码C/C++扩展2017年6月更新-yiteyi-C++库

IntelliSenseMode设置

在五月的更新中,语义引擎将编译代码限制在“MSVC模式” 在Windows和“Clang/GCC模式”下 在Linux和Mac上。 在这个更新中,我们添加了一个设置,允许您选择编译代码的模式,而不管您在哪个平台上运行。

例如,如果您在Windows上使用MinGW,现在可以指示IntelliSense引擎使用“Clang/GCC模式” 而不是“MSVC模式”. 该模式可以通过修改活动配置中的“intelliSenseMode”属性来配置 cïcppïu属性.json 文件。

回退如何工作以及如何控制行为

扩展首先尝试使用新的IntelliSense引擎完全解析任何打开的文件。如果发现找不到头文件或依赖项,它将返回到标记解析器并提供原始的模糊智能感知行为。回退会影响完整的翻译单元(TU),而不仅仅是单个打开的文件。其他开放的tu将继续使用新的IntelliSense引擎,前提是所有的include依赖项都已解决。这种行为有效地解决了“红色波浪的海洋” 许多用户在5月份的更新中看到,对于任何无法解析的include语句,只显示绿色的波形。“问题”面板提供有关未解析标头和依赖项的详细信息。

图片[3]-VisualStudio代码C/C++扩展2017年6月更新-yiteyi-C++库

为了支持上面讨论的新回退体验,并使用户更容易发现和解决includePath问题,扩展在include语句旁边提供了代码操作,这些语句提供了添加新路径或禁用回退机制的快捷方式。将文本光标放在这样的曲线上并单击出现的灯泡将显示这些快捷方式。

我们认识到,并非所有项目都需要解析all#include,而且您可能仍然希望体验使用新语义引擎而不自定义默认include路径所带来的生产效率优势。为此,“强制语义智能感知” 行动是可以选择的。调用时,所有未解析的#include squiggle将变为红色,所有文件中的语义成员列表和linting都将启用,无论是否可以解析#include语句。

图片[4]-VisualStudio代码C/C++扩展2017年6月更新-yiteyi-C++库

告诉我们你的想法

下载VisualStudio代码的C/C++扩展 ,试试看,让我们知道你的想法。文件 GitHub存在的问题及建议 . 如果你还没有给我们反馈,请拿着这个 快速调查 为了满足您的需求,帮助您设计此扩展。

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享