Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
fd0bf09b
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
fd0bf09b
编写于
3月 24, 2020
作者:
J
Julien Couvreur
提交者:
GitHub
3月 24, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Formatting: force a space after attribute on parameter (#42466)
上级
bf71ef42
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
59 addition
and
1 deletion
+59
-1
src/Workspaces/CSharpTest/Formatting/FormattingTests.cs
src/Workspaces/CSharpTest/Formatting/FormattingTests.cs
+41
-1
src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Formatting/Rules/TokenBasedFormattingRule.cs
...piler/CSharp/Formatting/Rules/TokenBasedFormattingRule.cs
+18
-0
未找到文件。
src/Workspaces/CSharpTest/Formatting/FormattingTests.cs
浏览文件 @
fd0bf09b
...
...
@@ -4435,7 +4435,7 @@ void AddClass(string name,[OptionalAttribute] object position,[OptionalAttrib
var
expected
=
@"class Program
{
void AddClass(string name, [OptionalAttribute]
object position, [OptionalAttribute]
object bases)
void AddClass(string name, [OptionalAttribute]
object position, [OptionalAttribute]
object bases)
{
}
}"
;
...
...
@@ -9555,5 +9555,45 @@ class C
};
}"
.
Replace
(
" "
,
"\u00A0"
));
}
[
Fact
,
WorkItem
(
41022
,
"https://github.com/dotnet/roslyn/issues/41022"
)]
[
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
Formatting
)]
public
async
Task
SpacingAfterAttribute
()
{
var
code
=
@"class C
{
void M([My]string?[]?[] x)
{
}
}"
;
var
expectedCode
=
@"class C
{
void M([My] string?[]?[] x)
{
}
}"
;
await
AssertFormatAsync
(
expectedCode
,
code
);
}
[
Fact
,
WorkItem
(
41022
,
"https://github.com/dotnet/roslyn/issues/41022"
)]
[
Trait
(
Traits
.
Feature
,
Traits
.
Features
.
Formatting
)]
public
async
Task
SpacingAfterAttribute_Multiple
()
{
var
code
=
@"class C
{
void M([My][My] int x)
{
}
}"
;
var
expectedCode
=
@"class C
{
void M([My][My] int x)
{
}
}"
;
await
AssertFormatAsync
(
expectedCode
,
code
);
}
}
}
src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Formatting/Rules/TokenBasedFormattingRule.cs
浏览文件 @
fd0bf09b
...
...
@@ -258,6 +258,24 @@ public override AdjustSpacesOperation GetAdjustSpacesOperation(SyntaxToken previ
return
CreateAdjustSpacesOperation
(
0
,
AdjustSpacesOption
.
ForceSpacesIfOnSingleLine
);
}
if
(
previousToken
.
IsKind
(
SyntaxKind
.
CloseBracketToken
)
&&
previousToken
.
Parent
.
IsKind
(
SyntaxKind
.
AttributeList
)
&&
previousToken
.
Parent
.
IsParentKind
(
SyntaxKind
.
Parameter
))
{
if
(
currentToken
.
IsKind
(
SyntaxKind
.
OpenBracketToken
))
{
// multiple attribute on parameter stick together
// void M([...][...]
return
CreateAdjustSpacesOperation
(
0
,
AdjustSpacesOption
.
ForceSpacesIfOnSingleLine
);
}
else
{
// attribute is spaced from parameter type
// void M([...] int
return
CreateAdjustSpacesOperation
(
1
,
AdjustSpacesOption
.
ForceSpacesIfOnSingleLine
);
}
}
// extension method on tuple type
// M(this (
if
(
currentToken
.
Kind
()
==
SyntaxKind
.
OpenParenToken
&&
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录