Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动完成案例问题_C#_Visual Studio_Autocomplete_Intellisense - Fatal编程技术网

C# 自动完成案例问题

C# 自动完成案例问题,c#,visual-studio,autocomplete,intellisense,C#,Visual Studio,Autocomplete,Intellisense,当我在Visual Studio Community 2017中编写C时,我总是感到困扰,当我有两个类似命名的标识符时,一个以大写字母开头,一个以小写字母开头,有时当我开始用小写字母键入时,它会改为以大写字母标识符自动完成 当我将小写参数指定给大写字段/属性时,通常会发生这种情况,例如: 当我开始键入my…,它将匹配小写myValue,直到我键入v,此时它将开始匹配大写myValue。很明显,我不想要这个,因为这样我会得到MyValue=MyValue!有没有什么方法可以让它根据第一个字母的大小

当我在Visual Studio Community 2017中编写C时,我总是感到困扰,当我有两个类似命名的标识符时,一个以大写字母开头,一个以小写字母开头,有时当我开始用小写字母键入时,它会改为以大写字母标识符自动完成

当我将小写参数指定给大写字段/属性时,通常会发生这种情况,例如:

当我开始键入my…,它将匹配小写myValue,直到我键入v,此时它将开始匹配大写myValue。很明显,我不想要这个,因为这样我会得到MyValue=MyValue!有没有什么方法可以让它根据第一个字母的大小写来解决大小写不清的问题,而不是它现在在做什么?如果我开始输入小写,那么我希望在输入更多字符时,它继续匹配以小写开头的标识符

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


我认为您可能误解了VisualStudio的选择行为:根据我的经验,VisualStudioCase在默认情况下会不敏感地选择我上次使用的一个,或者在没有使用的情况下选择列表中的第一个

如果我在您的案例中输入了myv,以前从未编写过,它将默认为列表中的第一个MyValue

如果我在myvalue下选择第二个,然后立即write=myv VS将建议我第二次使用myvalue,因为我第一次使用myvalue


这就是说,有一件事我肯定从未见过:区分大小写的intellisense,绝对不是区分大小写的first char,不区分大小写的其他chars intellisense….

对于您的第一个示例,我在本地测试了它,结果如下截图所示,我发现预选的完成列表取决于“最近使用的成员”,请检查:

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

对于您的第二个示例,我得到了与您相同的结果。因为我们尝试将代码键入“”中,我假设VS filtered completion list符合某些特定规则或原则,我们也可以从上述文档中找到这些规则


如果您对此intellisense有一些建议或想法,请前往帮助发送反馈并提供建议…将其分享给VS产品团队,他们愿意听到不同的建议和用户声音。

我同意。以下是我就这个问题所写的内容

请让intellisense区分大小写。 当我输入myV时,它应该选择myValue而不是myValue。 当我输入Myv时,它应该选择MyValue而不是MyValue

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

根据C编码标准,字段无论如何都应该被命名为小写。然后你的代码就会变成这样。myValue=myValue。你在开玩笑吗?两个标识符只是大小写不同而已?这不是一个明智的选择。它是字段还是属性都不重要。这只是一个玩具示例;属性如果它是一个属性,同样的行为也会发生。史蒂夫:你会建议我改名为myValue吗?我可以在.NET参考资料中找到更糟糕的例子:@Steve这是字段和属性的常见约定,例如,尽管我个人不喜欢也不使用它-这一点也不奇怪。我已经看到了。一年多了去吧,也许是VS2013。从那以后,错过它让我发疯。