我正在使用C ++在Microsoft Visual Studio中编写程序。最近,我注意到它提供的自动完成功能已经停止工作(我认为它叫做intellisense或其他什么?)所以现在,当我输入代码时,如果我之前写过类似:className.
的内容,那么我键入.
会出现一个小对话框,其中列出了该类中可用的函数和变量,但现在不再发生这种情况,并且Visual Studio不再自动完成我正在键入的变量的名称。 ..
任何人都知道这是为什么?如何让这个automcompete功能再次运行?我试过去工具 - >选项 - >文字编辑器 - > C / C ++和'语句完成'部分,'自动列表成员'和'参数信息'复选框都被选中...
答案 0 :(得分:1)
要解决此问题,我需要在Visual Studio关闭时从项目文件夹中删除.ncb文件。
答案 1 :(得分:0)
您是否尝试过使用工具 - >导入和导出设置 - >重置所有设置
答案 2 :(得分:0)
tldr:尝试 ctrl+alt+space 并确保您打开了 .sln,而不仅仅是文件或文件夹
老问题,但我最终遇到了这个问题,所以我相信其他人最终也会:
添加到其他有效答案中,这可能是由于智能感知进入低影响模式,无意中按了 ctrl+alt+space(默认)。这会在许多上下文中停用自动完成功能,但不是全部(如果这是问题的根源,您仍然应该能够直接从当前文件调用函数,但一段时间后的自动完成功能被禁用。
例如:thisFunction() 会自动完成,但不是 myObject.thatMethod(),也不是 myObject.someAttribute。 Ctrl+alt+space 可以打开和关闭该模式,可以在您的键绑定中将其删除,因为它对大多数人没用。
最后,如果您打开包含项目的文件夹,而不是 .snl,您将不会在整个项目中获得完全自动完成。您可以通过查看您的解决方案资源管理器来判断,如果您卡在文件夹视图而不是完整详细的解决方案树视图中