Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
0d8a993c
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,体验更适合开发者的 AI 搜索 >>
提交
0d8a993c
编写于
8月 04, 2020
作者:
S
Sam Harwell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix improper construction of VisualStudio14StructureTaggerProvider
上级
08568103
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
13 addition
and
28 deletion
+13
-28
src/EditorFeatures/Core.Wpf/Structure/VisualStudio14StructureTaggerProvider.cs
...re.Wpf/Structure/VisualStudio14StructureTaggerProvider.cs
+4
-3
src/EditorFeatures/Test/Structure/StructureTaggerTests.cs
src/EditorFeatures/Test/Structure/StructureTaggerTests.cs
+6
-16
src/EditorFeatures/Test/Tagging/AsynchronousTaggerTests.cs
src/EditorFeatures/Test/Tagging/AsynchronousTaggerTests.cs
+3
-9
未找到文件。
src/EditorFeatures/Core.Wpf/Structure/VisualStudio14StructureTaggerProvider.cs
浏览文件 @
0d8a993c
...
...
@@ -2,9 +2,10 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using
System
;
using
System.ComponentModel.Composition
;
using
System.Diagnostics.CodeAnalysis
;
using
Microsoft.CodeAnalysis.Editor.Shared.Utilities
;
using
Microsoft.CodeAnalysis.Host.Mef
;
using
Microsoft.CodeAnalysis.Shared.TestHooks
;
using
Microsoft.CodeAnalysis.Structure
;
using
Microsoft.VisualStudio.Text
;
...
...
@@ -28,11 +29,11 @@ namespace Microsoft.CodeAnalysis.Editor.Implementation.Structure
[
Export
(
typeof
(
VisualStudio14StructureTaggerProvider
))]
[
TagType
(
typeof
(
IOutliningRegionTag
))]
[
ContentType
(
ContentTypeNames
.
RoslynContentType
)]
internal
partial
class
VisualStudio14StructureTaggerProvider
:
internal
class
VisualStudio14StructureTaggerProvider
:
AbstractStructureTaggerProvider
<
IOutliningRegionTag
>
{
[
ImportingConstructor
]
[
SuppressMessage
(
"RoslynDiagnosticsReliability"
,
"RS0033:Importing constructor should be [Obsolete]"
,
Justification
=
"Used in test code: https://github.com/dotnet/roslyn/issues/42814"
)]
[
Obsolete
(
MefConstruction
.
ImportingConstructorMessage
,
error
:
true
)]
public
VisualStudio14StructureTaggerProvider
(
IThreadingContext
threadingContext
,
IForegroundNotificationService
notificationService
,
...
...
src/EditorFeatures/Test/Structure/StructureTaggerTests.cs
浏览文件 @
0d8a993c
...
...
@@ -9,11 +9,8 @@
using
Microsoft.CodeAnalysis.Editor.Shared.Utilities
;
using
Microsoft.CodeAnalysis.Editor.Tagging
;
using
Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces
;
using
Microsoft.CodeAnalysis.Shared.TestHooks
;
using
Microsoft.CodeAnalysis.Structure
;
using
Microsoft.CodeAnalysis.Test.Utilities
;
using
Microsoft.VisualStudio.Text.Editor
;
using
Microsoft.VisualStudio.Text.Projection
;
using
Microsoft.VisualStudio.Text.Tagging
;
using
Roslyn.Test.Utilities
;
using
Roslyn.Utilities
;
...
...
@@ -42,7 +39,7 @@ static void Main(string[] args)
#endregion
}"
;
using
var
workspace
=
TestWorkspace
.
CreateCSharp
(
code
);
using
var
workspace
=
TestWorkspace
.
CreateCSharp
(
code
,
composition
:
EditorTestCompositions
.
EditorFeaturesWpf
);
workspace
.
TryApplyChanges
(
workspace
.
CurrentSolution
.
WithOptions
(
workspace
.
Options
.
WithChangedOption
(
BlockStructureOptions
.
CollapseRegionsWhenCollapsingToDefinitions
,
LanguageNames
.
CSharp
,
true
)));
...
...
@@ -84,7 +81,7 @@ static void Main(string[] args)
#endregion
}"
;
using
var
workspace
=
TestWorkspace
.
CreateCSharp
(
code
);
using
var
workspace
=
TestWorkspace
.
CreateCSharp
(
code
,
composition
:
EditorTestCompositions
.
EditorFeaturesWpf
);
var
tags
=
await
GetTagsFromWorkspaceAsync
(
workspace
);
// ensure all 4 outlining region tags were found
...
...
@@ -119,7 +116,7 @@ End Module
#End Region
End Namespace"
;
using
var
workspace
=
TestWorkspace
.
CreateVisualBasic
(
code
);
using
var
workspace
=
TestWorkspace
.
CreateVisualBasic
(
code
,
composition
:
EditorTestCompositions
.
EditorFeaturesWpf
);
var
tags
=
await
GetTagsFromWorkspaceAsync
(
workspace
);
// ensure all 4 outlining region tags were found
...
...
@@ -148,7 +145,7 @@ Sub Main(args As String())
End Sub
End Module"
;
using
var
workspace
=
TestWorkspace
.
CreateVisualBasic
(
code
);
using
var
workspace
=
TestWorkspace
.
CreateVisualBasic
(
code
,
composition
:
EditorTestCompositions
.
EditorFeaturesWpf
);
var
tags
=
await
GetTagsFromWorkspaceAsync
(
workspace
);
var
hints
=
tags
.
Select
(
x
=>
x
.
CollapsedHintForm
).
Cast
<
ViewHostingControl
>().
ToArray
();
...
...
@@ -160,15 +157,8 @@ private static async Task<List<IOutliningRegionTag>> GetTagsFromWorkspaceAsync(T
{
var
hostdoc
=
workspace
.
Documents
.
First
();
var
view
=
hostdoc
.
GetTextView
();
var
textService
=
workspace
.
GetService
<
ITextEditorFactoryService
>();
var
editorService
=
workspace
.
GetService
<
IEditorOptionsFactoryService
>();
var
projectionService
=
workspace
.
GetService
<
IProjectionBufferFactoryService
>();
var
provider
=
new
VisualStudio14StructureTaggerProvider
(
workspace
.
ExportProvider
.
GetExportedValue
<
IThreadingContext
>(),
workspace
.
ExportProvider
.
GetExportedValue
<
IForegroundNotificationService
>(),
textService
,
editorService
,
projectionService
,
AsynchronousOperationListenerProvider
.
NullProvider
);
var
provider
=
workspace
.
ExportProvider
.
GetExportedValue
<
VisualStudio14StructureTaggerProvider
>();
var
document
=
workspace
.
CurrentSolution
.
GetDocument
(
hostdoc
.
Id
);
var
context
=
new
TaggerContext
<
IOutliningRegionTag
>(
document
,
view
.
TextSnapshot
);
...
...
src/EditorFeatures/Test/Tagging/AsynchronousTaggerTests.cs
浏览文件 @
0d8a993c
...
...
@@ -11,13 +11,13 @@
using
Microsoft.CodeAnalysis.Editor.Shared.Tagging
;
using
Microsoft.CodeAnalysis.Editor.Shared.Utilities
;
using
Microsoft.CodeAnalysis.Editor.Tagging
;
using
Microsoft.CodeAnalysis.Editor.UnitTests
;
using
Microsoft.CodeAnalysis.Editor.UnitTests.Workspaces
;
using
Microsoft.CodeAnalysis.Shared.TestHooks
;
using
Microsoft.CodeAnalysis.Test.Utilities
;
using
Microsoft.CodeAnalysis.Text.Shared.Extensions
;
using
Microsoft.VisualStudio.Text
;
using
Microsoft.VisualStudio.Text.Editor
;
using
Microsoft.VisualStudio.Text.Projection
;
using
Microsoft.VisualStudio.Text.Tagging
;
using
Roslyn.Test.Utilities
;
using
Roslyn.Utilities
;
...
...
@@ -93,16 +93,10 @@ static List<ITagSpan<TestTag>> tagProducer(SnapshotSpan span, CancellationToken
[
WpfFact
]
public
void
TestSynchronousOutlining
()
{
using
var
workspace
=
TestWorkspace
.
CreateCSharp
(
"class Program {\r\n\r\n}"
);
using
var
workspace
=
TestWorkspace
.
CreateCSharp
(
"class Program {\r\n\r\n}"
,
composition
:
EditorTestCompositions
.
EditorFeaturesWpf
);
WpfTestRunner
.
RequireWpfFact
(
$"
{
nameof
(
AsynchronousTaggerTests
)}
.
{
nameof
(
TestSynchronousOutlining
)}
creates asynchronous taggers"
);
var
tagProvider
=
new
VisualStudio14StructureTaggerProvider
(
workspace
.
ExportProvider
.
GetExportedValue
<
IThreadingContext
>(),
workspace
.
GetService
<
IForegroundNotificationService
>(),
workspace
.
GetService
<
ITextEditorFactoryService
>(),
workspace
.
GetService
<
IEditorOptionsFactoryService
>(),
workspace
.
GetService
<
IProjectionBufferFactoryService
>(),
workspace
.
ExportProvider
.
GetExportedValue
<
IAsynchronousOperationListenerProvider
>());
var
tagProvider
=
workspace
.
ExportProvider
.
GetExportedValue
<
VisualStudio14StructureTaggerProvider
>();
var
document
=
workspace
.
Documents
.
First
();
var
textBuffer
=
document
.
GetTextBuffer
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录