Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
e7123fbe
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,发现更多精彩内容 >>
提交
e7123fbe
编写于
4月 19, 2020
作者:
S
Sam Harwell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use OptionsCollection in the formatter unit tests
上级
43098176
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
199 addition
and
197 deletion
+199
-197
src/Workspaces/CSharpTest/Formatting/CSharpFormattingTestBase.cs
...kspaces/CSharpTest/Formatting/CSharpFormattingTestBase.cs
+5
-5
src/Workspaces/CSharpTest/Formatting/FormattingMultipleSpanTests.cs
...aces/CSharpTest/Formatting/FormattingMultipleSpanTests.cs
+6
-6
src/Workspaces/CSharpTest/Formatting/FormattingTests.cs
src/Workspaces/CSharpTest/Formatting/FormattingTests.cs
+132
-133
src/Workspaces/CoreTestUtilities/Formatting/FormattingTestBase.cs
...spaces/CoreTestUtilities/Formatting/FormattingTestBase.cs
+5
-4
src/Workspaces/CoreTestUtilities/Roslyn.Services.UnitTests.Utilities.csproj
...eTestUtilities/Roslyn.Services.UnitTests.Utilities.csproj
+2
-0
src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb
src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb
+43
-43
src/Workspaces/VisualBasicTest/Formatting/VisualBasicFormattingTestBase.vb
...sualBasicTest/Formatting/VisualBasicFormattingTestBase.vb
+6
-6
未找到文件。
src/Workspaces/CSharpTest/Formatting/CSharpFormattingTestBase.cs
浏览文件 @
e7123fbe
...
...
@@ -4,7 +4,7 @@
using
System.Collections.Generic
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.
Op
tions
;
using
Microsoft.CodeAnalysis.
Editor.UnitTests.CodeAc
tions
;
using
Microsoft.CodeAnalysis.Text
;
using
Microsoft.CodeAnalysis.UnitTests.Formatting
;
using
Roslyn.Utilities
;
...
...
@@ -21,23 +21,23 @@ protected Workspace DefaultWorkspace
protected
override
SyntaxNode
ParseCompilation
(
string
text
,
ParseOptions
parseOptions
)
=>
SyntaxFactory
.
ParseCompilationUnit
(
text
,
options
:
(
CSharpParseOptions
)
parseOptions
);
protected
Task
AssertFormatAsync
(
pr
ivate
pr
otected
Task
AssertFormatAsync
(
string
expected
,
string
code
,
bool
debugMode
=
false
,
Dictionary
<
OptionKey
,
object
>
changedOptionSet
=
null
,
OptionsCollection
changedOptionSet
=
null
,
bool
testWithTransformation
=
true
,
ParseOptions
parseOptions
=
null
)
{
return
AssertFormatAsync
(
expected
,
code
,
SpecializedCollections
.
SingletonEnumerable
(
new
TextSpan
(
0
,
code
.
Length
)),
debugMode
,
changedOptionSet
,
testWithTransformation
,
parseOptions
);
}
protected
Task
AssertFormatAsync
(
pr
ivate
pr
otected
Task
AssertFormatAsync
(
string
expected
,
string
code
,
IEnumerable
<
TextSpan
>
spans
,
bool
debugMode
=
false
,
Dictionary
<
OptionKey
,
object
>
changedOptionSet
=
null
,
OptionsCollection
changedOptionSet
=
null
,
bool
testWithTransformation
=
true
,
ParseOptions
parseOptions
=
null
)
{
...
...
src/Workspaces/CSharpTest/Formatting/FormattingMultipleSpanTests.cs
浏览文件 @
e7123fbe
...
...
@@ -7,8 +7,8 @@
using
System.Threading
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.CSharp.Formatting
;
using
Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions
;
using
Microsoft.CodeAnalysis.Formatting
;
using
Microsoft.CodeAnalysis.Options
;
using
Microsoft.CodeAnalysis.Test.Utilities
;
using
Microsoft.CodeAnalysis.Text
;
using
Roslyn.Test.Utilities
;
...
...
@@ -123,9 +123,9 @@ void F()
System.Console.WriteLine();
}
}"
;
var
changingOptions
=
new
Dictionary
<
OptionKey
,
object
>
var
changingOptions
=
new
OptionsCollection
(
LanguageNames
.
CSharp
)
{
{
CSharpFormattingOptions
.
IndentBlock
,
false
}
{
CSharpFormattingOptions
2
.
IndentBlock
,
false
}
};
await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
changingOptions
);
}
...
...
@@ -150,9 +150,9 @@ void F()
System.Console.WriteLine();
}
}"
;
var
changingOptions
=
new
Dictionary
<
OptionKey
,
object
>
var
changingOptions
=
new
OptionsCollection
(
LanguageNames
.
CSharp
)
{
{
CSharpFormattingOptions
.
WrappingPreserveSingleLine
,
false
}
{
CSharpFormattingOptions
2
.
WrappingPreserveSingleLine
,
false
}
};
await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
changingOptions
);
}
...
...
@@ -170,7 +170,7 @@ public async Task EmptySpan()
var
result
=
Formatter
.
Format
(
await
syntaxTree
.
GetRootAsync
(),
TextSpan
.
FromBounds
(
0
,
0
),
workspace
,
cancellationToken
:
CancellationToken
.
None
);
}
private
Task
AssertFormatAsync
(
string
content
,
string
expected
,
Dictionary
<
OptionKey
,
object
>
changedOptionSet
=
null
)
private
Task
AssertFormatAsync
(
string
content
,
string
expected
,
OptionsCollection
changedOptionSet
=
null
)
{
var
tuple
=
PreprocessMarkers
(
content
);
...
...
src/Workspaces/CSharpTest/Formatting/FormattingTests.cs
浏览文件 @
e7123fbe
此差异已折叠。
点击以展开。
src/Workspaces/CoreTestUtilities/Formatting/FormattingTestBase.cs
浏览文件 @
e7123fbe
...
...
@@ -7,6 +7,7 @@
using
System.Collections.Generic
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions
;
using
Microsoft.CodeAnalysis.Formatting
;
using
Microsoft.CodeAnalysis.Options
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
...
...
@@ -20,24 +21,24 @@ namespace Microsoft.CodeAnalysis.UnitTests.Formatting
[
UseExportProvider
]
public
abstract
class
FormattingTestBase
{
protected
Task
AssertFormatAsync
(
pr
ivate
pr
otected
Task
AssertFormatAsync
(
string
expected
,
string
code
,
string
language
,
bool
debugMode
=
false
,
Dictionary
<
OptionKey
,
object
>
?
changedOptionSet
=
null
,
OptionsCollection
?
changedOptionSet
=
null
,
bool
testWithTransformation
=
true
)
{
return
AssertFormatAsync
(
expected
,
code
,
new
[]
{
new
TextSpan
(
0
,
code
.
Length
)
},
language
,
debugMode
,
changedOptionSet
,
testWithTransformation
);
}
protected
async
Task
AssertFormatAsync
(
pr
ivate
pr
otected
async
Task
AssertFormatAsync
(
string
expected
,
string
code
,
IEnumerable
<
TextSpan
>
spans
,
string
language
,
bool
debugMode
=
false
,
Dictionary
<
OptionKey
,
object
>
?
changedOptionSet
=
null
,
OptionsCollection
?
changedOptionSet
=
null
,
bool
treeCompare
=
true
,
ParseOptions
?
parseOptions
=
null
)
{
...
...
src/Workspaces/CoreTestUtilities/Roslyn.Services.UnitTests.Utilities.csproj
浏览文件 @
e7123fbe
...
...
@@ -41,6 +41,8 @@
<InternalsVisibleTo
Include=
"Microsoft.CodeAnalysis.EditorFeatures2.UnitTests"
/>
<InternalsVisibleTo
Include=
"Microsoft.CodeAnalysis.VisualBasic.EditorFeatures.UnitTests"
/>
<InternalsVisibleTo
Include=
"Roslyn.Services.Test.Utilities"
/>
<InternalsVisibleTo
Include=
"Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests"
/>
<InternalsVisibleTo
Include=
"Microsoft.CodeAnalysis.VisualBasic.Workspaces.UnitTests"
/>
<InternalsVisibleTo
Include=
"Microsoft.CodeAnalysis.Workspaces.UnitTests"
/>
<InternalsVisibleTo
Include=
"Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests"
/>
<InternalsVisibleTo
Include=
"Microsoft.VisualStudio.LanguageServices.UnitTests"
/>
...
...
src/Workspaces/VisualBasicTest/Formatting/FormattingTests.vb
浏览文件 @
e7123fbe
...
...
@@ -2,8 +2,8 @@
' The .NET Foundation licenses this file to you under the MIT license.
' See the LICENSE file in the project root for more information.
Imports
Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions
Imports
Microsoft.CodeAnalysis.Formatting
Imports
Microsoft.CodeAnalysis.Options
Imports
Microsoft.CodeAnalysis.Test.Utilities
Imports
Microsoft.CodeAnalysis.Text
Imports
Microsoft.CodeAnalysis.VisualBasic
...
...
@@ -1706,11 +1706,11 @@ End Class</Code>
vbTab
+
"End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1734,11 +1734,11 @@ End Class</Code>
vbTab
+
"End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1762,11 +1762,11 @@ End Class</Code>
vbTab
+
"End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1792,11 +1792,11 @@ End Class</Code>
vbTab
+
"End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1822,11 +1822,11 @@ End Class</Code>
vbTab
+
"End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1849,11 +1849,11 @@ End Class</Code>
vbTab
+
"End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1875,11 +1875,11 @@ End Class</Code>
" End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
False
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
4
}
{
FormattingOptions2
.
UseTabs
,
False
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
4
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1901,11 +1901,11 @@ End Class</Code>
" End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
False
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
2
}
{
FormattingOptions2
.
UseTabs
,
False
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
2
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1927,11 +1927,11 @@ End Class</Code>
" End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
False
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
4
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
6
}
{
FormattingOptions2
.
UseTabs
,
False
},
{
FormattingOptions2
.
TabSize
,
4
},
{
FormattingOptions2
.
IndentationSize
,
6
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -1953,11 +1953,11 @@ End Class</Code>
" End Sub"
+
vbCrLf
+
"End Class"
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
},
{
New
OptionKey
(
FormattingOptions
.
TabSize
,
LanguageNames
.
VisualBasic
)
,
3
},
{
New
OptionKey
(
FormattingOptions
.
IndentationSize
,
LanguageNames
.
VisualBasic
)
,
2
}
{
FormattingOptions2
.
UseTabs
,
True
},
{
FormattingOptions2
.
TabSize
,
3
},
{
FormattingOptions2
.
IndentationSize
,
2
}
}
Await
AssertFormatAsync
(
code
,
expected
,
changedOptionSet
:
=
optionSet
)
...
...
@@ -2025,9 +2025,9 @@ End Class</Code>
End
Sub
End
Class
</
Code
>
Dim
optionSet
=
New
Dictionary
(
Of
OptionKey
,
Object
)
From
Dim
optionSet
=
New
OptionsCollection
(
LanguageNames
.
VisualBasic
)
From
{
{
New
OptionKey
(
FormattingOptions
.
UseTabs
,
LanguageNames
.
VisualBasic
)
,
True
}
{
FormattingOptions2
.
UseTabs
,
True
}
}
Await
AssertFormatLf2CrLfAsync
(
code
.
Value
,
expected
.
Value
,
optionSet
)
...
...
src/Workspaces/VisualBasicTest/Formatting/VisualBasicFormattingTestBase.vb
浏览文件 @
e7123fbe
...
...
@@ -4,8 +4,8 @@
Imports
System.Collections.Immutable
Imports
System.Threading
Imports
Microsoft.CodeAnalysis.Editor.UnitTests.CodeActions
Imports
Microsoft.CodeAnalysis.Formatting
Imports
Microsoft.CodeAnalysis.Options
Imports
Microsoft.CodeAnalysis.Text
Imports
Microsoft.CodeAnalysis.UnitTests.Formatting
Imports
Roslyn.Test.Utilities
...
...
@@ -42,7 +42,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Formatting
Return
StringFromLines
(
adjustedLines
.
ToArray
())
End
Function
Pr
otected
Function
AssertFormatLf2CrLfAsync
(
code
As
String
,
expected
As
String
,
Optional
optionSet
As
Dictionary
(
Of
OptionKey
,
Object
)
=
Nothing
)
As
Task
Pr
ivate
Protected
Function
AssertFormatLf2CrLfAsync
(
code
As
String
,
expected
As
String
,
Optional
optionSet
As
OptionsCollection
=
Nothing
)
As
Task
code
=
code
.
Replace
(
vbLf
,
vbCrLf
)
expected
=
expected
.
Replace
(
vbLf
,
vbCrLf
)
...
...
@@ -87,22 +87,22 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.Formatting
Return
AssertFormatAsync
(
expected
,
code
,
spans
)
End
Function
Protected
Overloads
Function
AssertFormatAsync
(
Pr
ivate
Pr
otected
Overloads
Function
AssertFormatAsync
(
code
As
String
,
expected
As
String
,
Optional
debugMode
As
Boolean
=
False
,
Optional
changedOptionSet
As
Dictionary
(
Of
OptionKey
,
Object
)
=
Nothing
,
Optional
changedOptionSet
As
OptionsCollection
=
Nothing
,
Optional
testWithTransformation
As
Boolean
=
False
,
Optional
experimental
As
Boolean
=
False
)
As
Task
Return
AssertFormatAsync
(
expected
,
code
,
SpecializedCollections
.
SingletonEnumerable
(
New
TextSpan
(
0
,
code
.
Length
)),
debugMode
,
changedOptionSet
,
testWithTransformation
,
experimental
:
=
experimental
)
End
Function
Protected
Overloads
Function
AssertFormatAsync
(
Pr
ivate
Pr
otected
Overloads
Function
AssertFormatAsync
(
expected
As
String
,
code
As
String
,
spans
As
IEnumerable
(
Of
TextSpan
),
Optional
debugMode
As
Boolean
=
False
,
Optional
changedOptionSet
As
Dictionary
(
Of
OptionKey
,
Object
)
=
Nothing
,
Optional
changedOptionSet
As
OptionsCollection
=
Nothing
,
Optional
testWithTransformation
As
Boolean
=
False
,
Optional
experimental
As
Boolean
=
False
)
As
Task
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录