【问题标题】:Visual Studio - C# 'out' variable intellisense completionVisual Studio - C# 'out' 变量智能感知完成
【发布时间】:2020-10-29 11:15:07
【问题描述】:

在 C# 中,我经常使用“Try...”方法通过 out 变量检索值。例如,Dictionary 上的 TryGetValue 方法。我注意到 Visual Studio 2019 IntelliSense 显示了合理的输出参数类型和默认变量名称,例如下面示例中的out SubscriptionItem value。但是,我想不出一种方法来自动完成它并以扩展的 sn-p 的方式接受建议的参数定义。

有没有办法在不手动输入 IntelliSense 已经建议的内容的情况下自动完成此操作?

【问题讨论】:

  • 一种选择是输入var value。不如自动完成快,但打字速度很快。
  • and accept the suggested parameter definition 我的书呆子迫使我强调不是建议的参数定义。它是TryGetValue 函数(您正在调用的方法)的定义。
  • 是的,可以使用 var 并接受建议的名称,然后快速重构为显式类型。即便如此,我很想知道这里是否可以实现真正的自动完成......
  • 你不需要重构。 var 关键字在此上下文中与 SubscriptionItem 一样明确。当你使用var 时,你总是在创建一个强类型变量。该调用中唯一可接受的类型是SubscriptionItem,因此当您说out var value 时,它与out SubscriptionItem value 完全相同。如果可以自动完成,您应该能够键入“S”,然后键入 <tab> 并获得自动完成的类型类型。如果它不起作用,那么......
  • 我刚试过。你没有得到神奇的自动完成,但它很接近。如果您键入out<space>,则不会弹出任何内容。但是,如果此时您按下 “嘿,帮我自动完成这个” 序列<ctrl>+<space>,您会得到一个无用的自动完成列表。但是,如果您随后键入第一个字符,则可以很好地猜测您想要什么。同样,如果你输入out<space>S<tab>,你会得到一个很好的猜测自动完成列表。自从out var 进入该语言以来,我几乎只将它用于这种参数 - 它更容易记住和输入。

标签: c# visual-studio autocomplete intellisense


【解决方案1】:

由于 Visual Studio 尚未执行此操作,因此我添加了一个功能请求以进行投票或跟踪:

https://developercommunity.visualstudio.com/idea/1108309/c-out-variable-intellisense-completion.html

更新:这现在是 Roslyn GitHub 存储库中的一个问题:

https://github.com/dotnet/roslyn/issues/46268

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2016-03-20
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多