在VS 2013中使用空格键提交C++ Intellisense建议

Jas*_*n D 7 c++ intellisense visual-studio visual-studio-2013

在使用C#专门用了很长时间之后,我最近一直在探索C++.我正在使用Visual Studio 2013,而让我感到烦恼的一件事就是无法通过按空格键来提交Intellisense建议.我试图在选项 - >文本编辑器 - > C/C++ - >高级中编辑提交字符列表以接受空格键,但到目前为止我没有运气.来自C#,这是非常恶化的.有人知道是否可以做出这样的改变?我知道我可以使用Tab或Enter,但在我看来,使用Space更加流畅.

任何信息将不胜感激.

更新:空间似乎提出了一些建议,但没有提出其他建议.如果我输入"std :: stri",它会提交"std :: string".不幸的是,Intellisense不会提交由我创建的任何内容甚至是普通关键字.它只是在我输入的内容后添加了一个空格.

JBe*_*ley 3

除了我对您的问题的评论之外,我已经安装了 Visual Studio 2013(旗舰版)的试用版,并且可以确认空格键确实可以完成 IntelliSense 建议。结合所有评论,它似乎适用于以下版本:

  • 对比2010年
  • 对比2012年
  • 对比2013年

这是我的 IntelliSense 设置的屏幕截图,位于Tools > Options > Text Editor > C/C++ > Advanced

智能感知设置

作为最后的手段,您可能需要尝试将所有设置更改回默认设置,如本答案中所建议的:

Tools > Import and Export Settings > Reset all settings

更新:阅读 JoshC 的评论后,我进行了更多实验,我也遇到了这个问题。它似乎与您尝试自动完成的项目是否是类型或命名空间的成员有关。如果是(例如std::string),那么空间将起作用。如果不是(例如void),那么它将不起作用(但由于某种原因,选项卡将起作用)。根据此链接,您可以通过按 CTRL+J 手动调用“列出成员功能”,在这种情况下,在空行上它将包含全局命名空间中的项目 - 但这显然不是一个实用的解决方案。

我不知道为什么它会以这种方式区分空格和制表符。如果有人知道解决方法,请告诉我,我将再次编辑此答案。

以下内容似乎暗示 C++ 没有解决方案:

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2656132-support-commited-by-pressing-the-space-bar-in-c

使用 Visual Studios 2012 进行 C++ 编码时,如何自动完成在 IntelliSense 中选择的代码?(看评论)