自动完成案例问题

Autocomplete case issue

在 Visual Studio(社区 2017)中编写 C# 时,当我有两个名称相似的标识符(一个以大写字母开头,一个以小写字母开头)时,我总是很烦恼,有时当我开始输入小写时,它会自动补全大写标识符。

这通常发生在我将小写参数分配给大写参数 field/property 时,例如:

当我开始输入 my... 时,它匹配小写字母 myValue 直到我输入 v,此时它开始匹配大写字母 [=13] =] 代替。显然我不想要这个,因为那样我会得到 MyValue = MyValue!有什么方法可以让它根据 仅第一个字母 的大小写而不是现在正在做的任何事情来解决大小写歧义?如果我开始输入小写字母,那么我希望它在我输入更多字符时继续匹配以小写字母开头的标识符。

编辑:这是一个匹配类型而不是变量的示例。我已经输入了完整的参数名称,大小写正确,它仍然匹配一个类型而不是变量:

我认为您可能误解了 visual studio 的 select离子行为:根据我的经验,Visual Studio 不区分大小写 select 是我上次使用的那个,如果没有使用,则默认为列表中的第一个。

如果我在你的情况下键入 myv,以前从未写过它,它将默认为 MyValue(列表中的第一个)。

如果我select第二个下来(myvalue)然后马上写= myv VS会提示我的意思是myValue第二次因为我用了myValue 第一次..

就是说,有一件事我敢肯定我从未见过:区分大小写的智能感知,绝对不是 "case sensitive first char, insensitive other chars" 智能感知..

对于你的第一个例子,我在本地进行了测试,结果如下截图,我发现预选完成列表取决于“最近使用的成员”,请检查:Visual C# IntelliSense

IntelliSense 会记住您最近在弹出的“成员列表”框中选择的成员,以自动完成对象名称。下次使用成员列表时,最近使用的成员会显示在顶部。

对于你的第二个例子,我得到了和你一样的结果。由于我们尝试将代码键入'()'并且我根据一些特定规则或原则假设VS过滤完成列表,我们也可以从上述文档中找到规则。

如果你对这个intellisense有什么建议或者想法,请到Help-Send Feedback-Provide a suggestions...分享给VS产品组,他们愿意听取不同的建议和用户的声音。

我同意。这是我在这个问题上写的。

请让智能感知区分大小写。 当我键入 myV 时,它应该 select myValue 而不是 MyValue。 当我键入 Myv 时,它应该 select MyValue 而不是 myValue.

关键在于:当用户费心使用 shift 键来将字母大写时,他们想要将字母大写的变量或成员。 如果你们能做到这一点,我会高兴死的。请。