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不会提交由我创建的任何内容甚至是普通关键字.它只是在我输入的内容后添加了一个空格.
除了我对您的问题的评论之外,我已经安装了 Visual Studio 2013(旗舰版)的试用版,并且可以确认空格键确实可以完成 IntelliSense 建议。结合所有评论,它似乎适用于以下版本:
这是我的 IntelliSense 设置的屏幕截图,位于Tools > Options > Text Editor > C/C++ > Advanced:

作为最后的手段,您可能需要尝试将所有设置更改回默认设置,如本答案中所建议的:
Tools > Import and Export Settings > Reset all settings
更新:阅读 JoshC 的评论后,我进行了更多实验,我也遇到了这个问题。它似乎与您尝试自动完成的项目是否是类型或命名空间的成员有关。如果是(例如std::string),那么空间将起作用。如果不是(例如void),那么它将不起作用(但由于某种原因,选项卡将起作用)。根据此链接,您可以通过按 CTRL+J 手动调用“列出成员功能”,在这种情况下,在空行上它将包含全局命名空间中的项目 - 但这显然不是一个实用的解决方案。
我不知道为什么它会以这种方式区分空格和制表符。如果有人知道解决方法,请告诉我,我将再次编辑此答案。
以下内容似乎暗示 C++ 没有解决方案:
使用 Visual Studios 2012 进行 C++ 编码时,如何自动完成在 IntelliSense 中选择的代码?(看评论)