Visual Studio自动补全弹窗未预选中项问题求助
Troubleshooting Inconsistent Auto-Complete Preselection in Visual Studio 2017 with ReSharper
我太懂这种闹心的感觉了——JetBrains家的IDE向来把自动补全预选中第一项做得稳稳的,结果到了VS2017搭ReSharper这儿就时灵时不灵,明明已经把所有自动弹窗都设成了“Display and preselect”,却还要时不时按个Down键才能回车补全,完全打乱操作节奏。
咱们从几个最可能的原因入手排查:
搞定VS原生智能感知的冲突
ReSharper和VS自带的IntelliSense经常会抢着管补全的事儿,导致行为混乱。你可以直接把VS原生的智能感知给禁用掉:- 打开
Tools > Options > Text Editor > C# > IntelliSense - 取消勾选“Show completion list after a character is typed”
- 再切到
ReSharper > Options > Environment > IntelliSense > General,确认“Visual Studio”标签页里,ReSharper的IntelliSense模式是设为“Use ReSharper IntelliSense”的,别选“Visual Studio”或者“Auto”模式。
- 打开
重置ReSharper缓存
缓存文件损坏是这类莫名其妙小问题的常客。重置一下试试:- 点开
ReSharper > Options > Environment > General - 点击“Clear Caches”按钮,然后重启Visual Studio。
- 点开
检查细分场景的补全规则
有时候你全局设了“Display and preselect”,但某些特定场景(比如字符串内部、注释里,或者处理某些框架代码时)的规则被单独改了。你可以去:ReSharper > Options > Environment > IntelliSense > Completion Behavior- 逐个检查各个语言、各个场景的“Completion appearance”设置,确保所有你常用的场景都统一设成了“Display and preselect”,没有例外项。
修复ReSharper安装
如果上面的方法都不管用,可能是ReSharper的安装文件出了损坏:- 打开
Tools > Extensions and Updates,找到ReSharper - 点击“Modify”,选择“Repair”选项,等修复完成后重启VS。
- 打开
要是这些操作都解决不了,你可以新建一个空白项目试试补全是否正常,排除是当前项目的配置或者代码文件出问题的可能。
内容的提问来源于stack exchange,提问作者Faget Thomas
相关产品推荐
相关产品推荐

