Visual Studio Code 的C/C++ extension八月份更新

[原文发表地址]August Update for the Visual Studio Code C/C++ extension

[原文发表时间]2016/8/29

在今年的//Build大会上我们推出了C/C++ extension for Visual Studio Code , 我们将保持每月发行的节奏和目标并不断对你们的反馈做出回应。下面将介绍八月份更新的一些功能:

  • 使用 Visual Studio Code来调试你的微软应用程序
  • 使用clang-format提高你的代码格式化的体验
  • 改善了代码自动填充功能

如果您还没来得及给我们提供反馈,为了这个扩展能够更好的满足您的需要,请您填一下这份快速调查问卷最初的博客中已经更新了这些新功能,现在让我们一起仔细地逐一学习一下他们。

使用 Visual Studio Code来调试你的微软应用程序

随着这次八月份更新版本的发布我们很高兴地宣布我们已经在Visual Studio Code C/C++ extension 中添加了支持调试微软桌面应用程序的功能!

你可以通过下面的步骤来调试你的微软应用程序:

  • 在Visual Studio Code的侧边栏通过Debug视图进入
  • 点击设置(齿轮)图标
  • 选择"C++(Windows)"

1

  • 你需要将“program”字段的值设置为正在调试的两种配置(launch ,attach)的可执行文件
  • 为了给调试器配置其他可以去查找symbol文件的路径,我们在launch.json文件中添加了“symbolsearchpath”属性(用分号分隔多个路径)

2

这个微软调试的预览支持添加下列功能:

  • 调试X86/x64应用软件
  • 支持Launch和Attach桌面应用程序
  • 设置断点(文件, 行,条件和函数)
  • 逐步调试
  • 时间和数据提示
  • 堆栈
  • Symbol 设置(‘symbolsearchpath’)
  • 多线程调试

已知的一些局限性:

  • 源文件必须同它编译的路径相同
  • 不支持异步堆栈

使用clang-format提高你的代码格式化的体验

作为这个扩展的六月份更新的一部分,我们添加了支持使用clang-format格式化你的C/C++代码的功能。这次更新的改进是,现在 clang-format 作为扩展的一部分被安装在扩展中。另外,对于这个格式化体验,现在只要你开始输入代码,它将不停地格式化你的代码。同时当我们使用“Right Click->Format Code’这个选项时,相对于格式化整个文档,我们允许格式化代码的一部分。

关于怎样设置和控制clang-format的格式化我们已经介绍了几种选择,你可以在你的workspace中重新写,通过在setting file中设置你需要的值。在这次发布的版本中你可以看到的一个改变是我们已经将“fallback-style”默认值设为相对于“LLVM”的“Visual Studio“ 。这个改变主要是为了确保您的格式设置在Visual Studio和Visual Studio Code之间是尽可能相似。当前Visual Studio的样式映射到了clang-format的这些选项中。新的“Visual Studio”的样式不仅是公开的clang-format的一部分而且也指明了下列的格式选项。 3

其它的选项包括为用户提供和使用自定义版本的clang-format的能力。作为workspace, user settings的一部分,当保存源文件时可以自动地格式化,也可以控制常用的clang-format的工具选项(style, fallback-style, sort-includes)。这些最后一组选项来控制clang-format 的行为是之前是作为“c_cpp_properties.json”文件的一部分展示的,这些我们现在已经全部清除并且所有的clang-format选项合并为一个部分作为Visual Studio Code默认设置的一部分。 4

改善了代码自动化完成功能

另一个我们作为六月更新的一部分已经启动的实验性功能是自动完成功能的alpha版本。这个功能提供了使用符号数据库填充的自动完成功能,就像peek 和go to definition功能一样来增强代码导航功能。此功能是默认的由Visual Studio Code提供的基于文本匹配包对单个文件智能感应体验的附加功能。

自从包含这个功能的版本发布后,我们已经收到了很多关于这两种智能感应体验(single file, fuzzy auto-complete)如何互相干扰的反馈,这个使得我们的用户非常的烦恼。随着这一版的发布我们已经解决了这个问题,现在开发者可以通过在workspace-->user setting中使用“C_CPP.Autocomplete”选项在两种智能模式间切换。目前默认的是仅提供fuzzy auto-complete体验。

注意这个仅仅是预览功能,此更新解决不了你可能遇到的所有问题,后面还将会有进一步的改进。

现在升级你的扩展

如果你已经使用了c/c++代码扩展,你可以通过使用更新下拉菜单快速地更新你的扩展。这将会显示出你当前已经装的需要更新的扩展。在扩展窗口中,通过点击”update”按钮就可以安装更新后的扩展了。 5

请通过查阅最初发布的博客的链接文档以获得更多关于Visual Studio Code C/C++的全部经验的的信息。请继续体检我们的产品并在Github 页中提交您所遇到的问题,如果你想勾画这个产品的未来,请加入我们Cross-Platform C++ Insiders 群,在那你可以直接和我们对话来使得这个产品更好地满足你的需求。