我最近在使用C#专门用了很长时间之后一直在探索C ++。我使用的是Visual Studio 2013,而让我感到烦恼的一件事就是无法通过按空格键来提交Intellisense建议。我试图在选项中编辑提交字符列表 - >文字编辑器 - > C / C ++ - >高级接受空格键,但到目前为止,我没有运气。来自C#,这是非常恶化的。有人知道是否有可能做出这样的改变?我知道我可以使用Tab或Enter,但在我看来,使用Space更加流畅。
非常感谢任何信息。
更新:空间似乎提出了一些建议,但没有提出其他建议。如果我输入" std :: stri",它会提交" std :: string"。不幸的是,Intellisense不会承诺由我创建的任何内容甚至是普通的关键字。它只是在我输入的内容后添加一个空格。
答案 0 :(得分:3)
除了我对您的问题的评论之外,我还安装了Visual Studio 2013(Ultimate)的试用版,并且可以确认空格键是否可以完成IntelliSense建议。结合所有注释,它似乎适用于以下版本:
以下是位于Tools > Options > Text Editor > C/C++ > Advanced
的我的智能感知设置的屏幕截图:
作为最后的手段,您可能需要尝试将所有设置更改回默认值,如this answer中所述:
Tools > Import and Export Settings > Reset all settings
更新:在阅读JoshC的评论后,我进行了更多实验,我也遇到了问题。它似乎与您尝试自动完成的项目是否是类型或命名空间的成员有关。如果是(例如std::string
)那么空间将起作用。如果不是(例如void
)那么它将不起作用(但由于某种原因,选项卡将起作用)。按照this link,您可以通过按CTRL + J手动调用“列表成员功能”,在这种情况下,它将包含全局命名空间中的项目 - 但这显然不是一个实际的解决方案。
我不知道为什么它会以这种方式区分空格和制表符。如果有人知道解决方法,请告诉我,我将再次编辑此答案。
以下似乎暗示C ++没有解决方案: