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

时间:2013-12-18 21:52:12

标签: c++ visual-studio intellisense visual-studio-2013

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

非常感谢任何信息。

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

1 个答案:

答案 0 :(得分:3)

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

  • VS 2010
  • VS 2012
  • VS 2013

以下是位于Tools > Options > Text Editor > C/C++ > Advanced的我的智能感知设置的屏幕截图:

IntelliSense settings

作为最后的手段,您可能需要尝试将所有设置更改回默认值,如this answer中所述:

Tools > Import and Export Settings > Reset all settings

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

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

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

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

When using Visual Studios 2012 for coding in C++, how do you autocomplete code selected in IntelliSense?(见评论)