Visual Studio 2010 IntelliSense不会选择默认值,只是标记它。

143

我在Visual Studio 2010中遇到了一个非常烦人的智能感知问题:

有时(但不总是 - 我控制不了)Intellisense引擎选择“标记”选项,而不是实际选择它。这意味着,我不能只输入e n Enter来访问以“En…”开头的默认选项,而是必须键入e n 向下箭头 Enter

通常情况下,它会像这样工作一段时间,然后突然间我想要的行为又回来了。我的结论是,某个选项自动设置了,而我不知道如何控制。

我该如何确保默认选项始终被选择,而不仅仅是“标记”?

参考信息:这是带有CodeRush Xpress 10.1的Visual Studio 2010 RC。


@devio:你最终找出原因了吗? - Tomas Aschan
7个回答

280

尝试按下 Ctrl-Alt-Space

在 Connect 上发现了这篇文章,对我来说似乎有效。


3
微软的文章往往会在一段时间后消失。能否简要解释一下为什么和如何发生这种情况? - AaA

81

您可以通过转到“编辑”->“智能感知”->“切换完成模式”来更改它。


2
为那些可能更改了快捷键的人寻找替代方法,加一分。 - Daniel Casserly
1
谢谢。我可能会忽略Ctrl + Alt + Space,认为它永远不能成为一个永久性的解决方法,只会影响您当前输入的内容。尽管事实证明这与此相同,但这引起了我的注意,并帮助我理解我在做什么。 - Timo
6
VS2017依然可用,但仍会随机自动关闭...这个错误存在很长时间了。 - Douglas Gaskell
@DouglasGaskell 我不排除我误按了Ctr+Alt+Space键,而不是它随机更改的可能性。 - S. Buda
1
可以在vs2019上使用,我曾经认为它已经坏了。谢谢你,每次我编写C#属性时都能挽救我的神经! - Andrii M4n0w4R
@DouglasGaskell 显然仍然存在,并且会随机自动关闭。有任何更新吗? - KeyC0de

19

我也遇到了同样的问题,但是我发现按下TAB键总是选择默认选项。


1
正确。但是你仍然需要按下句号来显示成员列表。多了一步 :( - Tomas Beblar
2
@Tomas。当然,所有上述解决方案都依赖于此。想象一下如果这种情况没有发生。你开始输入一个变量的名称,在前几个字母中可能会匹配几个具有相似名称但不同类型的变量,并且所有这些类型的成员都会自动弹出。按下句号键可能是一个额外的步骤,但它可以挽救你的理智! - cyberspy

9

为了完整性,此选项在工具栏上有一个切换按钮:

Toggle Completion Mode toolbar button

它的视觉状态将告诉您当前选择了哪种完成模式。


虽然这可能是真的,而且今天也是有价值的信息,但我还是有点惊讶你找到了这个十多年前的问题来回答 :) - Tomas Aschan
它是类似问题的“相关”列表中的首选,并且在搜索中非常突出。尽管已经十年过去了,但它仍然很有价值! - canton7
什么鬼!简单明了。谢谢。VS2019。 - bolkay

3
对于至少 C++ 而言,
Tools / Options / Text Editor / C/C++/ Advanced / IntelliSense

Member List Commit Aggressive 更改为 True


1
非常感谢!我因为找不到这个选项而快要疯了!也许他们可以重新命名这个选项,因为它的当前名称有点隐藏。或者至少默认情况下激活它... - Lapo

2

你可能已经切换到了低影响的智能感知模式,只需按下Ctrl+Alt+Space即可解决问题。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接