Visual Studio Code C/C++ 扩展 2017年四月份更新

[原文发表地址] Visual Studio Code C/C++ extension April 2017 Update
[原文作者] RongLu
[原文发表时间] 2017/4/25

今天早上我们发布了2017年4月份更新的C/C++ Visual Studio Code扩展。我们怀着激动的心情来介绍这次更新的新功能:

  • 错误曲线
  • 快速信息
  • 跳到声明
  • Bash在Windows调试中的支持

最初发布的博客中已经更新了这些改变。如果你已经安装了这个扩展,Visual Studio Code会发送一条关于更新的提示并自动为你安装更新。如果你之前没有安装过它,请下载Visual Studio Code C/C++扩展并尝试一下。 1-download

错误提示和快速信息

启动功能

在这次的扩展中,我们是把错误提示和快速信息作为“实验功能”发布的。什么意思呢,就是说这两个功能仅仅对于那些使用VSCode Insiders的开发者来说是默认开启的, 对其他人来说默认是关闭的。你可以通过在settings.json文件中(文件->参考->设置)中设置启动或者关闭它。在设置文件中,搜索“intellisense” 定位到C_Cpp.intelliSenseEngine设置,把它设置成”Default“来启动IntelliSense引擎(如下图)。当着这些功能退出他们的实验状态,”Default“将对每个人来说会变成真的默认状态。:) 2-intellisense-engine

当默认使用智能感应引擎时,在同一个文件中的“C_Cpp.errorSquiggles”设置允许开启或关闭错误提示功能。

我们鼓励你启动这些功能,尝试一下他们,然后反馈给我们。我们将把这些功能做的更好然后尽快把他们默认为启动的。

错误提示

不久前,我们启动了对#include声明显示错误的提示。如果一个工作站存在的话,这个更新将支持对任何程序的元素显示错误提示,包括变量,关键词,和括号。换句话说,如果打开的是单个的文件,错误提示是不支持的。

例如,在下面的截图中,Vector3出现了红色的下划曲线,表明这个类型不能在指定的include路径中被找到。 3-quick-action

单击代码中的Vector3,你将会在左边看到一个小的灯泡。小灯泡上的”Add include path to setting”菜单将带你到“c_cpp_properties.json”文件中,在这个文件中你可以指定智能感应的include路径。如果c_cpp_properties.json 文件不存在,它将会创建一个并且会显示如下默认的include路径:

  • 在Windows上,我们默认的路径是工作站根目录,如果安装了Visual Studio 2017或者2015也可以是VC inlcude的路径。最新的Windows SDK如果找到。
  • 在Linux上, 我们默认的路径是工作站根目录, 最高版本的include可以在/usr/include/c++路径下被找到,包括64位特殊头文件,其他头文件将在usr/lib/clang路径下被找到。
  • 在Mac上,我们默认的路径是工作站根目录, Xcode 默认工具链如果存在或者和Linux一样的路径如果xcode找不到。

你可以添加,移除,或者改变includepath设置的路径来适应你的场景。在这个例子中,我添加了另外一个路径(用红色下划线高亮的)为了智能感应引擎寻找类型。 4-include-paths

注意在”浏览“下面有一个新添加的”路径“设置,这个是用来执行模糊查询结果的tag分析的。”includePath”设置,正式地被用于tag分析,目前控制新智能感应引擎的include路径。打开任何现存的c_cpp_properties.json 文件,“includepath”的值会自动的被复制到”browse.path”设置中。

你也可以在c_cpp_properties.json文件中配置“define”设置来定义预处理符号。

现在如果我保存json文件中的改变,然后回到之前的头文件,类型已被解决,并且红色曲线已移除。

快速信息

快速信息启动后可以通过将鼠标悬停在一个变量上或者函数上来查看类型信息或者函数的标识。在这个扩展中,这个通过tag分析被执行,它提供了快速但模糊的结果--有时候不准确。使用新智能感应引擎,我们可以为局部变量,全局变量,函数或者符号提供更加准确的结果。如下图,将鼠标悬停在局部变量“it”上就会显示它准确的类型信息。 5-quick-info

跳到声明

使用这个扩展,你可以在变量或者函数上执行“跳转到定义”(F2)来打开对象定义的文档。这个更新添加了“跳转到声明” (Ctrl+F12) 来导航到对象声明的文档。使用这个功能,简单地右击任何变量或者函数然后选择“跳到声明”按钮。

在如下图的例子中,我选择了“Text.DrawString”函数并且点击”跳到声明“。 6-go-to-declaration

在下图中,你可以看到“TextRenderer.h”文件被打开,两条关于DrawString的函数声明被高亮了。 7-show-declarationBash在Windows调试中的支持

随着Windows10 Creators Update的发布,现在你能够使用VSCode和这个扩展在Ubuntu项目上调试你的Windows 的Linux子系统(WSL)Bash。你能够在Widnows使用VSCode在写代码,通过bash.exe调试Windows层上的Bash。请查看如何使用VSCode C/C++扩展调试Windows 10的Linux子系统指南

告诉我们你的所思 请下载Visual Studio Code C/C++扩展并尝试一下,让我们知道你的所思所想。在Github上提交问题和建议.如果你还没有提交过反馈给我们,请用快速调查来帮助塑造这个扩展可以满足你的需求。