提交 94d03c21 编写于 作者: N Neal Gafter 提交者: GitHub

Format expression-bodied everything on typing ';' (#17610)

This extends the behavior to constructors, destructors, and operators.
Fixes #17257
上级 43d12b6d
......@@ -3120,6 +3120,59 @@ public void FormattingRangeForFirstMethodMemberofType()
AutoFormatToken(code, expected);
}
[WpfFact]
[WorkItem(17257, "https://github.com/dotnet/roslyn/issues/17257")]
[Trait(Traits.Feature, Traits.Features.SmartTokenFormatting)]
public void FormattingRangeForConstructor()
{
var code = @"class C
{public C()=>f=1;$$
}";
var expected = @"class C
{
public C() => f = 1;
}";
AutoFormatToken(code, expected);
}
[WpfFact]
[WorkItem(17257, "https://github.com/dotnet/roslyn/issues/17257")]
[Trait(Traits.Feature, Traits.Features.SmartTokenFormatting)]
public void FormattingRangeForDestructor()
{
var code = @"class C
{~C()=>f=1;$$
}";
var expected = @"class C
{
~C() => f = 1;
}";
AutoFormatToken(code, expected);
}
[WpfFact]
[WorkItem(17257, "https://github.com/dotnet/roslyn/issues/17257")]
[Trait(Traits.Feature, Traits.Features.SmartTokenFormatting)]
public void FormattingRangeForOperator()
{
var code = @"class C
{public static C operator +(C left, C right)=>field=1;$$
static int field;
}";
var expected = @"class C
{
public static C operator +(C left, C right) => field = 1;
static int field;
}";
AutoFormatToken(code, expected);
}
[WpfFact]
[WorkItem(954386, "http://vstfdevdiv:8080/DevDiv2/DevDiv/_workitems/edit/954386")]
[Trait(Traits.Feature, Traits.Features.SmartTokenFormatting)]
......
......@@ -122,7 +122,10 @@ internal static class FormattingRangeHelper
(parent is FieldDeclarationSyntax) ||
(parent is EventFieldDeclarationSyntax) ||
(parent is MethodDeclarationSyntax) ||
(parent is PropertyDeclarationSyntax))
(parent is PropertyDeclarationSyntax) ||
(parent is ConstructorDeclarationSyntax) ||
(parent is DestructorDeclarationSyntax) ||
(parent is OperatorDeclarationSyntax))
{
return ValueTuple.Create(GetAppropriatePreviousToken(parent.GetFirstToken(), canTokenBeFirstInABlock: true), parent.GetLastToken());
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册