首页 > 解决方案 > 如何更改 Visual Studios 方法自动完成器以使用花括号而不是 lambda?

问题描述

在 Visual Studion 2017 Pro 中,每当我重写 C# 子类中的方法时,我都会键入overridespace,然后使用前几个字母和 IntelliSense 来选择我想要重写的方法。

这将插入方法签名的其余部分和对基本方法的调用,但使用方法的表达式主体 (lambda):

public override string ToString() => base.ToString();

而不是块体(大括号):

public override string ToString()
{
    return base.ToString();
}

这使得覆盖方法变得乏味。如果我要更改方法的功能,我只会覆盖该方法,这几乎总是要求它位于块体中以便清晰(尤其是在调用基本方法时)。

注意:我的组织在安装 VS2017 时默认了一些设置,这可能是为单行方法设置的,覆盖方法最初总是如此。

Visual Studio 中是否有控制此行为的设置?

标签: c#visual-studioautocomplete

解决方案


您可以在 C# 的代码样式设置下找到您要查找的设置。

您可以像这样导航到设置:

Tools > Options > Text Editor > C# > Code Style

然后,您正在寻找设置描述“使用方法的表达式主体”。当前可能是'When possible''When on single line',但将此设置更改为'Never'应该会产生所需的行为。


推荐阅读