Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
731b9049
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,发现更多精彩内容 >>
提交
731b9049
编写于
3月 12, 2020
作者:
D
David Barbet
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Address review feedback.
上级
716ab2ad
变更
59
隐藏空白更改
内联
并排
Showing
59 changed file
with
130 addition
and
111 deletion
+130
-111
src/EditorFeatures/CSharp.Wpf/Completion/CompletionProviders/CSharpReplCommandCompletionProvider.cs
...ompletionProviders/CSharpReplCommandCompletionProvider.cs
+1
-2
src/EditorFeatures/Core.Wpf/Interactive/ReplCommandCompletionProvider.cs
...res/Core.Wpf/Interactive/ReplCommandCompletionProvider.cs
+1
-1
src/EditorFeatures/Core/Implementation/Interactive/Completion/AbstractDirectivePathCompletionProvider.cs
...ive/Completion/AbstractDirectivePathCompletionProvider.cs
+0
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/AttributeNamedParameterCompletionProvider.cs
...ionProviders/AttributeNamedParameterCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/CompletionUtilities.cs
...ble/Completion/CompletionProviders/CompletionUtilities.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/CrefCompletionProvider.cs
.../Completion/CompletionProviders/CrefCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/DeclarationNameCompletionProvider.cs
.../CompletionProviders/DeclarationNameCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/EnumAndCompletionListTagCompletionProvider.cs
...onProviders/EnumAndCompletionListTagCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/ExplicitInterfaceMemberCompletionProvider.cs
...ionProviders/ExplicitInterfaceMemberCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/ExplicitInterfaceTypeCompletionProvider.cs
...etionProviders/ExplicitInterfaceTypeCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/ExternAliasCompletionProvider.cs
...tion/CompletionProviders/ExternAliasCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/ImportCompletion/ExtensionMethodImportCompletionProvider.cs
...portCompletion/ExtensionMethodImportCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/ImportCompletion/TypeImportCompletionProvider.cs
...roviders/ImportCompletion/TypeImportCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/KeywordCompletionProvider.cs
...mpletion/CompletionProviders/KeywordCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.cs
...n/CompletionProviders/NamedParameterCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/ObjectCreationCompletionProvider.cs
...n/CompletionProviders/ObjectCreationCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/ObjectInitializerCompletionProvider.cs
...ompletionProviders/ObjectInitializerCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/OverrideCompletionProvider.cs
...pletion/CompletionProviders/OverrideCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/PartialMethodCompletionProvider.cs
...on/CompletionProviders/PartialMethodCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.cs
...tion/CompletionProviders/PartialTypeCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/PropertySubPatternCompletionProvider.cs
...mpletionProviders/PropertySubPatternCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/SnippetCompletionProvider.cs
...mpletion/CompletionProviders/SnippetCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/SpeculativeTCompletionProvider.cs
...ion/CompletionProviders/SpeculativeTCompletionProvider.cs
+2
-2
src/Features/CSharp/Portable/Completion/CompletionProviders/SymbolCompletionProvider.cs
...ompletion/CompletionProviders/SymbolCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/TupleNameCompletionProvider.cs
...letion/CompletionProviders/TupleNameCompletionProvider.cs
+1
-1
src/Features/CSharp/Portable/Completion/CompletionProviders/XmlDocCommentCompletionProvider.cs
...on/CompletionProviders/XmlDocCommentCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/CompletionProvider.cs
src/Features/Core/Portable/Completion/CompletionProvider.cs
+0
-6
src/Features/Core/Portable/Completion/CompletionService.cs
src/Features/Core/Portable/Completion/CompletionService.cs
+0
-2
src/Features/Core/Portable/Completion/CompletionServiceWithProviders.cs
...ore/Portable/Completion/CompletionServiceWithProviders.cs
+17
-11
src/Features/Core/Portable/Completion/LSPCompletionProvider.cs
...eatures/Core/Portable/Completion/LSPCompletionProvider.cs
+17
-0
src/Features/Core/Portable/Completion/Providers/AbstractCrefCompletionProvider.cs
...le/Completion/Providers/AbstractCrefCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/AbstractDocCommentCompletionProvider.cs
...pletion/Providers/AbstractDocCommentCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/AbstractInternalsVisibleToCompletionProvider.cs
...Providers/AbstractInternalsVisibleToCompletionProvider.cs
+2
-2
src/Features/Core/Portable/Completion/Providers/AbstractKeywordCompletionProvider.cs
...Completion/Providers/AbstractKeywordCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/AbstractMemberInsertingCompletionProvider.cs
...on/Providers/AbstractMemberInsertingCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/AbstractObjectInitializerCompletionProvider.cs
.../Providers/AbstractObjectInitializerCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/AbstractPartialTypeCompletionProvider.cs
...letion/Providers/AbstractPartialTypeCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/AbstractSymbolCompletionProvider.cs
.../Completion/Providers/AbstractSymbolCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractImportCompletionProvider.cs
...ortCompletionProvider/AbstractImportCompletionProvider.cs
+1
-1
src/Features/Core/Portable/Completion/SuggestionMode/SuggestionModeCompletionProvider.cs
...letion/SuggestionMode/SuggestionModeCompletionProvider.cs
+1
-1
src/Features/Core/Portable/EmbeddedLanguages/RegularExpressions/RegexEmbeddedCompletionProvider.cs
...ges/RegularExpressions/RegexEmbeddedCompletionProvider.cs
+0
-2
src/Features/LanguageServer/Protocol/Handler/Initialize/InitializeHandler.cs
...geServer/Protocol/Handler/Initialize/InitializeHandler.cs
+30
-15
src/Features/VisualBasic/Portable/Completion/CompletionProviders/CompletionUtilities.vb
...ble/Completion/CompletionProviders/CompletionUtilities.vb
+5
-5
src/Features/VisualBasic/Portable/Completion/CompletionProviders/CrefCompletionProvider.vb
.../Completion/CompletionProviders/CrefCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/EnumCompletionProvider.vb
.../Completion/CompletionProviders/EnumCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/HandlesClauseCompletionProvider.vb
...on/CompletionProviders/HandlesClauseCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImplementsClauseCompletionProvider.vb
...CompletionProviders/ImplementsClauseCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImportCompletionProvider/ExtensionMethodImportCompletionProvider.vb
...letionProvider/ExtensionMethodImportCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImportCompletionProvider/TypeImportCompletionProvider.vb
.../ImportCompletionProvider/TypeImportCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/KeywordCompletionProvider.vb
...mpletion/CompletionProviders/KeywordCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.vb
...n/CompletionProviders/NamedParameterCompletionProvider.vb
+2
-2
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ObjectCreationCompletionProvider.vb
...n/CompletionProviders/ObjectCreationCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ObjectInitializerCompletionProvider.vb
...ompletionProviders/ObjectInitializerCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/OverrideCompletionProvider.vb
...pletion/CompletionProviders/OverrideCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.vb
...tion/CompletionProviders/PartialTypeCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/SymbolCompletionProvider.vb
...ompletion/CompletionProviders/SymbolCompletionProvider.vb
+1
-1
src/Features/VisualBasic/Portable/Completion/CompletionProviders/XmlDocCommentCompletionProvider.vb
...on/CompletionProviders/XmlDocCommentCompletionProvider.vb
+1
-1
src/Tools/ExternalAccess/FSharp/Internal/Completion/FSharpInternalCommonCompletionProvider.cs
...rnal/Completion/FSharpInternalCommonCompletionProvider.cs
+0
-6
src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb
...io/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb
+1
-1
未找到文件。
src/EditorFeatures/CSharp.Wpf/Completion/CompletionProviders/CSharpReplCommandCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -4,7 +4,6 @@
using
System
;
using
System.Collections.Immutable
;
using
System.ComponentModel.Composition
;
using
System.Composition
;
using
System.Text.RegularExpressions
;
using
System.Threading
;
...
...
@@ -69,7 +68,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
protected
override
async
Task
<
bool
>
ShouldDisplayCommandCompletionsAsync
(
SyntaxTree
tree
,
int
position
,
CancellationToken
cancellationToken
)
{
...
...
src/EditorFeatures/Core.Wpf/Interactive/ReplCommandCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -12,7 +12,7 @@
namespace
Microsoft.CodeAnalysis.Editor.Completion.CompletionProviders
{
internal
abstract
class
ReplCompletionProvider
:
Common
CompletionProvider
internal
abstract
class
ReplCompletionProvider
:
LSP
CompletionProvider
{
protected
abstract
Task
<
bool
>
ShouldDisplayCommandCompletionsAsync
(
SyntaxTree
tree
,
int
position
,
CancellationToken
cancellationToken
);
protected
abstract
string
GetCompletionString
(
string
commandName
);
...
...
src/EditorFeatures/Core/Implementation/Interactive/Completion/AbstractDirectivePathCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -63,8 +63,6 @@ public override bool ShouldTriggerCompletion(SourceText text, int caretPosition,
return
true
;
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
':'
,
'\\'
,
'/'
,
'"'
);
private
static
string
GetPathThroughLastSlash
(
string
quotedPath
,
int
quotedPathStart
,
int
position
)
{
Contract
.
ThrowIfTrue
(
quotedPath
[
0
]
!=
'"'
);
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/AttributeNamedParameterCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -25,7 +25,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
AttributeNamedParameterCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
FirstBuiltInCompletionProvider
))]
[
Shared
]
internal
class
AttributeNamedParameterCompletionProvider
:
Common
CompletionProvider
internal
class
AttributeNamedParameterCompletionProvider
:
LSP
CompletionProvider
{
private
const
string
EqualsString
=
"="
;
private
const
string
SpaceEqualsString
=
" ="
;
...
...
@@ -44,7 +44,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/CompletionUtilities.cs
浏览文件 @
731b9049
...
...
@@ -69,7 +69,7 @@ internal static bool IsTriggerCharacter(SourceText text, int characterPosition,
return
false
;
}
internal
static
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
'.'
,
'#'
,
'>'
,
':'
);
internal
static
ImmutableHashSet
<
char
>
CommonTriggerCharacters
{
get
;
}
=
ImmutableHashSet
.
Create
(
'.'
,
'#'
,
'>'
,
':'
);
internal
static
bool
IsTriggerAfterSpaceOrStartOfWordCharacter
(
SourceText
text
,
int
characterPosition
,
OptionSet
options
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/CrefCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -72,7 +72,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/DeclarationNameCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -26,7 +26,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
DeclarationNameCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
TupleNameCompletionProvider
))]
[
Shared
]
internal
partial
class
DeclarationNameCompletionProvider
:
Common
CompletionProvider
internal
partial
class
DeclarationNameCompletionProvider
:
LSP
CompletionProvider
{
[
ImportingConstructor
]
public
DeclarationNameCompletionProvider
()
...
...
@@ -38,7 +38,7 @@ internal override bool IsInsertionTrigger(SourceText text, int insertedCharacter
return
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
insertedCharacterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
completionContext
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/EnumAndCompletionListTagCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -26,7 +26,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
EnumAndCompletionListTagCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
CSharpSuggestionModeCompletionProvider
))]
[
Shared
]
internal
partial
class
EnumAndCompletionListTagCompletionProvider
:
Common
CompletionProvider
internal
partial
class
EnumAndCompletionListTagCompletionProvider
:
LSP
CompletionProvider
{
[
ImportingConstructor
]
public
EnumAndCompletionListTagCompletionProvider
()
...
...
@@ -50,7 +50,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
(
options
.
GetOption
(
CompletionOptions
.
TriggerOnTypingLetters
,
LanguageNames
.
CSharp
)
&&
CompletionUtilities
.
IsStartingNewWord
(
text
,
characterPosition
));
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
' '
,
'['
,
'('
,
'~'
);
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
ImmutableHashSet
.
Create
(
' '
,
'['
,
'('
,
'~'
);
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ExplicitInterfaceMemberCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -22,7 +22,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
ExplicitInterfaceMemberCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
SymbolCompletionProvider
))]
[
Shared
]
internal
partial
class
ExplicitInterfaceMemberCompletionProvider
:
Common
CompletionProvider
internal
partial
class
ExplicitInterfaceMemberCompletionProvider
:
LSP
CompletionProvider
{
private
const
string
InsertionTextOnOpenParen
=
nameof
(
InsertionTextOnOpenParen
);
...
...
@@ -49,7 +49,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
text
[
characterPosition
]
==
'.'
;
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
'.'
);
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
ImmutableHashSet
.
Create
(
'.'
);
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ExplicitInterfaceTypeCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -35,7 +35,7 @@ public ExplicitInterfaceTypeCompletionProvider()
internal
override
bool
IsInsertionTrigger
(
SourceText
text
,
int
insertedCharacterPosition
,
OptionSet
options
)
=>
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
insertedCharacterPosition
,
options
);
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
protected
override
(
string
displayText
,
string
suffix
,
string
insertionText
)
GetDisplayAndSuffixAndInsertionText
(
ISymbol
symbol
,
SyntaxContext
context
)
=>
CompletionUtilities
.
GetDisplayAndSuffixAndInsertionText
(
symbol
,
context
);
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ExternAliasCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -21,7 +21,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
ExternAliasCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
SnippetCompletionProvider
))]
[
Shared
]
internal
class
ExternAliasCompletionProvider
:
Common
CompletionProvider
internal
class
ExternAliasCompletionProvider
:
LSP
CompletionProvider
{
[
ImportingConstructor
]
public
ExternAliasCompletionProvider
()
...
...
@@ -33,7 +33,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ImportCompletion/ExtensionMethodImportCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -31,7 +31,7 @@ public ExtensionMethodImportCompletionProvider()
internal
override
bool
IsInsertionTrigger
(
SourceText
text
,
int
characterPosition
,
OptionSet
options
)
=>
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
protected
override
ImmutableArray
<
string
>
GetImportedNamespaces
(
SyntaxNode
location
,
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ImportCompletion/TypeImportCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -29,7 +29,7 @@ public TypeImportCompletionProvider()
internal
override
bool
IsInsertionTrigger
(
SourceText
text
,
int
characterPosition
,
OptionSet
options
)
=>
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
protected
override
ImmutableArray
<
string
>
GetImportedNamespaces
(
SyntaxNode
location
,
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/KeywordCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -173,7 +173,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
protected
override
async
Task
<
CSharpSyntaxContext
>
CreateContextAsync
(
Document
document
,
int
position
,
CancellationToken
cancellationToken
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -27,7 +27,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
NamedParameterCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
AttributeNamedParameterCompletionProvider
))]
[
Shared
]
internal
partial
class
NamedParameterCompletionProvider
:
Common
CompletionProvider
,
IEqualityComparer
<
IParameterSymbol
>
internal
partial
class
NamedParameterCompletionProvider
:
LSP
CompletionProvider
,
IEqualityComparer
<
IParameterSymbol
>
{
private
const
string
ColonString
=
":"
;
...
...
@@ -46,7 +46,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ObjectCreationCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -35,7 +35,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
protected
override
SyntaxNode
GetObjectCreationNewExpression
(
SyntaxTree
tree
,
int
position
,
CancellationToken
cancellationToken
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/ObjectInitializerCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -98,7 +98,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
)
||
text
[
characterPosition
]
==
' '
;
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
.
Add
(
' '
);
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
.
Add
(
' '
);
protected
override
Tuple
<
ITypeSymbol
,
Location
>
GetInitializedType
(
Document
document
,
SemanticModel
semanticModel
,
int
position
,
CancellationToken
cancellationToken
)
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/OverrideCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -42,7 +42,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
protected
override
SyntaxToken
GetToken
(
CompletionItem
completionItem
,
SyntaxTree
tree
,
CancellationToken
cancellationToken
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/PartialMethodCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -55,7 +55,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
ch
==
' '
||
(
CompletionUtilities
.
IsStartingNewWord
(
text
,
characterPosition
)
&&
options
.
GetOption
(
CompletionOptions
.
TriggerOnTypingLetters
,
LanguageNames
.
CSharp
));
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
protected
override
bool
IsPartial
(
IMethodSymbol
method
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -53,7 +53,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
options
.
GetOption
(
CompletionOptions
.
TriggerOnTypingLetters
,
LanguageNames
.
CSharp
));
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
SpaceTriggerCharacter
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
SpaceTriggerCharacter
;
protected
override
SyntaxNode
GetPartialTypeSyntaxNode
(
SyntaxTree
tree
,
int
position
,
CancellationToken
cancellationToken
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/PropertySubPatternCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -21,7 +21,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
PropertySubpatternCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
InternalsVisibleToCompletionProvider
))]
[
Shared
]
internal
class
PropertySubpatternCompletionProvider
:
Common
CompletionProvider
internal
class
PropertySubpatternCompletionProvider
:
LSP
CompletionProvider
{
[
ImportingConstructor
]
public
PropertySubpatternCompletionProvider
()
...
...
@@ -102,7 +102,7 @@ protected override Task<CompletionDescription> GetDescriptionWorkerAsync(Documen
internal
override
bool
IsInsertionTrigger
(
SourceText
text
,
int
characterPosition
,
OptionSet
options
)
=>
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
)
||
text
[
characterPosition
]
==
' '
;
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
.
Add
(
' '
);
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
.
Add
(
' '
);
private
static
SyntaxToken
TryGetOpenBraceOrCommaInPropertyPatternClause
(
SyntaxTree
tree
,
int
position
,
CancellationToken
cancellationToken
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/SnippetCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -27,7 +27,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
SnippetCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
CrefCompletionProvider
))]
[
Shared
]
internal
sealed
class
SnippetCompletionProvider
:
Common
CompletionProvider
internal
sealed
class
SnippetCompletionProvider
:
LSP
CompletionProvider
{
internal
override
bool
IsSnippetProvider
=>
true
;
...
...
@@ -41,7 +41,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/SpeculativeTCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -22,7 +22,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
SpeculativeTCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
KeywordCompletionProvider
))]
[
Shared
]
internal
class
SpeculativeTCompletionProvider
:
Common
CompletionProvider
internal
class
SpeculativeTCompletionProvider
:
LSP
CompletionProvider
{
[
ImportingConstructor
]
public
SpeculativeTCompletionProvider
()
...
...
@@ -34,7 +34,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/SymbolCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -44,7 +44,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
CompletionUtilities
.
IsTriggerCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
CompletionUtilities
.
Possible
TriggerCharacters
;
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
CompletionUtilities
.
Common
TriggerCharacters
;
protected
override
async
Task
<
bool
>
IsSemanticTriggerCharacterAsync
(
Document
document
,
int
characterPosition
,
CancellationToken
cancellationToken
)
{
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/TupleNameCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -23,7 +23,7 @@ namespace Microsoft.CodeAnalysis.CSharp.Completion.Providers
[
ExportCompletionProvider
(
nameof
(
TupleNameCompletionProvider
),
LanguageNames
.
CSharp
)]
[
ExtensionOrder
(
After
=
nameof
(
XmlDocCommentCompletionProvider
))]
[
Shared
]
internal
class
TupleNameCompletionProvider
:
Common
CompletionProvider
internal
class
TupleNameCompletionProvider
:
LSP
CompletionProvider
{
private
const
string
ColonString
=
":"
;
...
...
src/Features/CSharp/Portable/Completion/CompletionProviders/XmlDocCommentCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -39,7 +39,7 @@ internal override bool IsInsertionTrigger(SourceText text, int characterPosition
return
c
==
'<'
||
c
==
'"'
||
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
);
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
'<'
,
'"'
,
' '
);
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
ImmutableHashSet
.
Create
(
'<'
,
'"'
,
' '
);
protected
override
async
Task
<
IEnumerable
<
CompletionItem
>>
GetItemsWorkerAsync
(
Document
document
,
int
position
,
...
...
src/Features/Core/Portable/Completion/CompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -72,11 +72,5 @@ internal virtual Task<CompletionChange> GetChangeAsync(Document document, Comple
/// True if the provider produces items show be shown in expanded list only.
/// </summary>
internal
virtual
bool
IsExpandItemProvider
=>
false
;
/// <summary>
/// Defines the set of possible non-identifier trigger characters for this completion provider.
/// Used by the LSP server to determine the trigger character set for completion.
/// </summary>
internal
virtual
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
<
char
>.
Empty
;
}
}
src/Features/Core/Portable/Completion/CompletionService.cs
浏览文件 @
731b9049
...
...
@@ -237,7 +237,5 @@ public virtual TextSpan GetDefaultCompletionListSpan(SourceText text, int caretP
return
bestItems
.
ToImmutableAndFree
().
SelectAsArray
(
itemWithPatternMatch
=>
itemWithPatternMatch
.
Item1
);
}
internal
virtual
ImmutableArray
<
CompletionProvider
>
GetCompletionProviders
()
=>
ImmutableArray
<
CompletionProvider
>.
Empty
;
}
}
src/Features/Core/Portable/Completion/CompletionServiceWithProviders.cs
浏览文件 @
731b9049
...
...
@@ -11,10 +11,10 @@
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis
;
using
Microsoft.CodeAnalysis.Completion.Providers
;
using
Microsoft.CodeAnalysis.ExtractMethod
;
using
Microsoft.CodeAnalysis.Host.Mef
;
using
Microsoft.CodeAnalysis.LanguageServices
;
using
Microsoft.CodeAnalysis.Options
;
using
Microsoft.CodeAnalysis.Shared.Extensions
;
using
Microsoft.CodeAnalysis.Shared.Utilities
;
using
Microsoft.CodeAnalysis.Text
;
using
Roslyn.Utilities
;
...
...
@@ -80,10 +80,7 @@ protected virtual ImmutableArray<CompletionProvider> GetBuiltInProviders()
return
_importedProviders
;
}
internal
override
ImmutableArray
<
CompletionProvider
>
GetCompletionProviders
()
{
return
GetAllProviders
(
ImmutableHashSet
<
string
>.
Empty
);
}
private
ImmutableArray
<
CompletionProvider
>
_testProviders
=
ImmutableArray
<
CompletionProvider
>.
Empty
;
private
ImmutableArray
<
CompletionProvider
>
CreateRoleProviders
(
ImmutableHashSet
<
string
>
roles
)
{
...
...
@@ -227,7 +224,7 @@ private CompletionProvider GetProviderByName(string providerName)
if
(
ShouldTriggerCompletion
(
text
,
caretPosition
,
trigger
,
roles
,
options
))
{
triggeredProviders
=
providers
.
Where
(
p
=>
p
.
ShouldTriggerCompletion
(
text
,
caretPosition
,
trigger
,
options
)).
ToImmutableArrayOrEmpty
();
Debug
.
Assert
(
ValidatePossibleTriggerCharacterSet
(
triggeredProviders
,
document
,
text
,
caretPosition
));
Debug
.
Assert
(
ValidatePossibleTriggerCharacterSet
(
trigger
.
Kind
,
trigger
edProviders
,
document
,
text
,
caretPosition
));
if
(
triggeredProviders
.
Length
==
0
)
{
triggeredProviders
=
providers
;
...
...
@@ -291,9 +288,16 @@ private CompletionProvider GetProviderByName(string providerName)
(
expandItemsAvailableFromTriggeredProviders
||
expandItemsAvailableFromAugmentingProviders
));
}
private
bool
ValidatePossibleTriggerCharacterSet
(
IEnumerable
<
CompletionProvider
>
triggeredProviders
,
Document
document
,
SourceText
text
,
int
caretPosition
)
private
bool
ValidatePossibleTriggerCharacterSet
(
CompletionTriggerKind
completionTriggerKind
,
IEnumerable
<
CompletionProvider
>
triggeredProviders
,
Document
document
,
SourceText
text
,
int
caretPosition
)
{
var
syntaxFactsService
=
document
.
Project
.
LanguageServices
.
GetService
<
ISyntaxFactsService
>();
// Only validate on insertion triggers.
if
(
completionTriggerKind
!=
CompletionTriggerKind
.
Insertion
)
{
return
true
;
}
var
syntaxFactsService
=
document
.
GetLanguageService
<
ISyntaxFactsService
>();
if
(
caretPosition
>
0
&&
syntaxFactsService
!=
null
)
{
// The trigger character has already been inserted before the current caret position.
...
...
@@ -307,11 +311,13 @@ private bool ValidatePossibleTriggerCharacterSet(IEnumerable<CompletionProvider>
}
// Only verify against built in providers. 3rd party ones do not necessarily implement the possible trigger characters API.
triggeredProviders
=
triggeredProviders
.
Where
(
p
=>
GetBuiltInProviders
().
Contains
(
p
));
foreach
(
var
provider
in
triggeredProviders
)
{
Debug
.
Assert
(
provider
.
PossibleTriggerCharacters
.
Contains
(
character
),
$"the character
{
character
}
is not a valid trigger character for
{
provider
.
Name
}
"
);
if
(
provider
is
LSPCompletionProvider
lspProvider
)
{
Debug
.
Assert
(
lspProvider
.
TriggerCharacters
.
Contains
(
character
),
$"the character
{
character
}
is not a valid trigger character for
{
lspProvider
.
Name
}
"
);
}
}
}
...
...
src/Features/Core/Portable/Completion/LSPCompletionProvider.cs
0 → 100644
浏览文件 @
731b9049
// Licensed to the .NET Foundation under one or more agreements.
// 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.Collections.Immutable
;
namespace
Microsoft.CodeAnalysis.Completion
{
internal
abstract
class
LSPCompletionProvider
:
CommonCompletionProvider
{
/// <summary>
/// Defines the set of possible non-identifier trigger characters for this completion provider.
/// Used by the LSP server to determine the trigger character set for completion.
/// </summary>
internal
virtual
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
ImmutableHashSet
<
char
>.
Empty
;
}
}
src/Features/Core/Portable/Completion/Providers/AbstractCrefCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -9,7 +9,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
abstract
class
AbstractCrefCompletionProvider
:
Common
CompletionProvider
abstract
class
AbstractCrefCompletionProvider
:
LSP
CompletionProvider
{
protected
const
string
HideAdvancedMembers
=
nameof
(
HideAdvancedMembers
);
...
...
src/Features/Core/Portable/Completion/Providers/AbstractDocCommentCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -16,7 +16,7 @@ namespace Microsoft.CodeAnalysis.Completion.Providers
{
using
static
DocumentationCommentXmlNames
;
internal
abstract
class
AbstractDocCommentCompletionProvider
<
TSyntax
>
:
Common
CompletionProvider
internal
abstract
class
AbstractDocCommentCompletionProvider
<
TSyntax
>
:
LSP
CompletionProvider
where
TSyntax
:
SyntaxNode
{
// Tag names
...
...
src/Features/Core/Portable/Completion/Providers/AbstractInternalsVisibleToCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -16,7 +16,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
class
AbstractInternalsVisibleToCompletionProvider
:
Common
CompletionProvider
internal
abstract
class
AbstractInternalsVisibleToCompletionProvider
:
LSP
CompletionProvider
{
private
const
string
ProjectGuidKey
=
nameof
(
ProjectGuidKey
);
...
...
@@ -48,7 +48,7 @@ internal override bool IsInsertionTrigger(SourceText text, int insertedCharacter
return
false
;
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
'\"'
);
internal
override
ImmutableHashSet
<
char
>
TriggerCharacters
{
get
;
}
=
ImmutableHashSet
.
Create
(
'\"'
);
public
override
async
Task
ProvideCompletionsAsync
(
CompletionContext
context
)
{
...
...
src/Features/Core/Portable/Completion/Providers/AbstractKeywordCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -16,7 +16,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
partial
class
AbstractKeywordCompletionProvider
<
TContext
>
:
Common
CompletionProvider
internal
abstract
partial
class
AbstractKeywordCompletionProvider
<
TContext
>
:
LSP
CompletionProvider
{
private
readonly
ImmutableArray
<
IKeywordRecommender
<
TContext
>>
_keywordRecommenders
;
...
...
src/Features/Core/Portable/Completion/Providers/AbstractMemberInsertingCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -15,7 +15,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
partial
class
AbstractMemberInsertingCompletionProvider
:
Common
CompletionProvider
internal
abstract
partial
class
AbstractMemberInsertingCompletionProvider
:
LSP
CompletionProvider
{
private
readonly
SyntaxAnnotation
_annotation
=
new
SyntaxAnnotation
();
private
readonly
SyntaxAnnotation
_otherAnnotation
=
new
SyntaxAnnotation
();
...
...
src/Features/Core/Portable/Completion/Providers/AbstractObjectInitializerCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -15,7 +15,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
class
AbstractObjectInitializerCompletionProvider
:
Common
CompletionProvider
internal
abstract
class
AbstractObjectInitializerCompletionProvider
:
LSP
CompletionProvider
{
protected
abstract
Tuple
<
ITypeSymbol
,
Location
>
GetInitializedType
(
Document
document
,
SemanticModel
semanticModel
,
int
position
,
CancellationToken
cancellationToken
);
protected
abstract
HashSet
<
string
>
GetInitializedMembers
(
SyntaxTree
tree
,
int
position
,
CancellationToken
cancellationToken
);
...
...
src/Features/Core/Portable/Completion/Providers/AbstractPartialTypeCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -16,7 +16,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
partial
class
AbstractPartialTypeCompletionProvider
:
Common
CompletionProvider
internal
abstract
partial
class
AbstractPartialTypeCompletionProvider
:
LSP
CompletionProvider
{
protected
AbstractPartialTypeCompletionProvider
()
{
...
...
src/Features/Core/Portable/Completion/Providers/AbstractSymbolCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -26,7 +26,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
class
AbstractSymbolCompletionProvider
:
Common
CompletionProvider
internal
abstract
class
AbstractSymbolCompletionProvider
:
LSP
CompletionProvider
{
// PERF: Many CompletionProviders derive AbstractSymbolCompletionProvider and therefore
// compute identical contexts. This actually shows up on the 2-core typing test.
...
...
src/Features/Core/Portable/Completion/Providers/ImportCompletionProvider/AbstractImportCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -22,7 +22,7 @@
namespace
Microsoft.CodeAnalysis.Completion.Providers
{
internal
abstract
class
AbstractImportCompletionProvider
:
Common
CompletionProvider
internal
abstract
class
AbstractImportCompletionProvider
:
LSP
CompletionProvider
{
protected
abstract
Task
<
SyntaxContext
>
CreateContextAsync
(
Document
document
,
int
position
,
CancellationToken
cancellationToken
);
protected
abstract
ImmutableArray
<
string
>
GetImportedNamespaces
(
SyntaxNode
location
,
SemanticModel
semanticModel
,
CancellationToken
cancellationToken
);
...
...
src/Features/Core/Portable/Completion/SuggestionMode/SuggestionModeCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -9,7 +9,7 @@
namespace
Microsoft.CodeAnalysis.Completion.SuggestionMode
{
internal
abstract
class
SuggestionModeCompletionProvider
:
Common
CompletionProvider
internal
abstract
class
SuggestionModeCompletionProvider
:
LSP
CompletionProvider
{
protected
abstract
Task
<
CompletionItem
>
GetSuggestionModeItemAsync
(
Document
document
,
int
position
,
TextSpan
span
,
CompletionTrigger
triggerInfo
,
CancellationToken
cancellationToken
);
...
...
src/Features/Core/Portable/EmbeddedLanguages/RegularExpressions/RegexEmbeddedCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -56,8 +56,6 @@ public override bool ShouldTriggerCompletion(SourceText text, int caretPosition,
return
false
;
}
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
'\\'
,
'['
,
'('
,
'{'
);
private
bool
IsTriggerCharacter
(
char
ch
)
{
switch
(
ch
)
...
...
src/Features/LanguageServer/Protocol/Handler/Initialize/InitializeHandler.cs
浏览文件 @
731b9049
...
...
@@ -2,49 +2,64 @@
// 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.Collections.Generic
;
using
System.Collections.Immutable
;
using
System.Composition
;
using
System.Linq
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
Microsoft.CodeAnalysis
;
using
Microsoft.CodeAnalysis.
Host
;
using
Microsoft.VisualStudio.LanguageServer.Protocol
;
using
Microsoft.CodeAnalysis.
Completion
;
using
LSP
=
Microsoft
.
VisualStudio
.
LanguageServer
.
Protocol
;
namespace
Microsoft.CodeAnalysis.LanguageServer.Handler
{
[
Shared
]
[
ExportLspMethod
(
Methods
.
InitializeName
)]
internal
class
InitializeHandler
:
IRequestHandler
<
InitializeParams
,
InitializeResult
>
[
ExportLspMethod
(
LSP
.
Methods
.
InitializeName
)]
internal
class
InitializeHandler
:
IRequestHandler
<
LSP
.
InitializeParams
,
LSP
.
InitializeResult
>
{
private
readonly
ImmutableArray
<
Lazy
<
CompletionProvider
,
Completion
.
Providers
.
CompletionProviderMetadata
>>
_completionProviders
;
[
ImportingConstructor
]
public
InitializeHandler
()
public
InitializeHandler
(
[
ImportMany
]
IEnumerable
<
Lazy
<
CompletionProvider
,
Completion
.
Providers
.
CompletionProviderMetadata
>>
completionProviders
)
{
_completionProviders
=
completionProviders
.
Where
(
lz
=>
lz
.
Metadata
.
Language
==
LanguageNames
.
CSharp
||
lz
.
Metadata
.
Language
==
LanguageNames
.
VisualBasic
)
.
ToImmutableArray
();
}
public
Task
<
InitializeResult
>
HandleRequestAsync
(
Solution
solution
,
InitializeParams
request
,
ClientCapabilities
clientCapabilities
,
CancellationToken
cancellationToken
)
public
Task
<
LSP
.
InitializeResult
>
HandleRequestAsync
(
Solution
solution
,
LSP
.
InitializeParams
request
,
LSP
.
ClientCapabilities
clientCapabilities
,
CancellationToken
cancellationToken
)
{
var
csharpCompletionService
=
solution
.
Workspace
.
Services
.
GetRequiredLanguageService
<
Completion
.
CompletionService
>(
LanguageNames
.
CSharp
);
var
vbCompletionService
=
solution
.
Workspace
.
Services
.
GetRequiredLanguageService
<
Completion
.
CompletionService
>(
LanguageNames
.
VisualBasic
);
var
allProviders
=
csharpCompletionService
.
GetCompletionProviders
().
Concat
(
vbCompletionService
.
GetCompletionProviders
());
var
triggerCharacters
=
allProviders
.
SelectMany
(
p
=>
p
.
PossibleTriggerCharacters
).
Distinct
().
Select
(
c
=>
c
.
ToString
()).
ToArray
();
var
triggerCharacters
=
_completionProviders
.
SelectMany
(
lz
=>
GetTriggerCharacters
(
lz
.
Value
)).
Distinct
().
Select
(
c
=>
c
.
ToString
()).
ToArray
();
return
Task
.
FromResult
(
new
InitializeResult
return
Task
.
FromResult
(
new
LSP
.
InitializeResult
{
Capabilities
=
new
ServerCapabilities
Capabilities
=
new
LSP
.
ServerCapabilities
{
DefinitionProvider
=
true
,
RenameProvider
=
true
,
ImplementationProvider
=
true
,
CompletionProvider
=
new
CompletionOptions
{
ResolveProvider
=
true
,
TriggerCharacters
=
triggerCharacters
},
SignatureHelpProvider
=
new
SignatureHelpOptions
{
TriggerCharacters
=
new
[]
{
"("
,
","
}
},
CompletionProvider
=
new
LSP
.
CompletionOptions
{
ResolveProvider
=
true
,
TriggerCharacters
=
triggerCharacters
},
SignatureHelpProvider
=
new
LSP
.
SignatureHelpOptions
{
TriggerCharacters
=
new
[]
{
"("
,
","
}
},
DocumentSymbolProvider
=
true
,
WorkspaceSymbolProvider
=
true
,
DocumentFormattingProvider
=
true
,
DocumentRangeFormattingProvider
=
true
,
DocumentOnTypeFormattingProvider
=
new
DocumentOnTypeFormattingOptions
{
FirstTriggerCharacter
=
"}"
,
MoreTriggerCharacter
=
new
[]
{
";"
,
"\n"
}
},
DocumentOnTypeFormattingProvider
=
new
LSP
.
DocumentOnTypeFormattingOptions
{
FirstTriggerCharacter
=
"}"
,
MoreTriggerCharacter
=
new
[]
{
";"
,
"\n"
}
},
DocumentHighlightProvider
=
true
,
}
});
}
private
static
ImmutableHashSet
<
char
>
GetTriggerCharacters
(
CompletionProvider
provider
)
{
if
(
provider
is
LSPCompletionProvider
lspProvider
)
{
return
lspProvider
.
TriggerCharacters
;
}
return
ImmutableHashSet
<
char
>.
Empty
;
}
}
}
src/Features/VisualBasic/Portable/Completion/CompletionProviders/CompletionUtilities.vb
浏览文件 @
731b9049
...
...
@@ -16,11 +16,11 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Private
Const
OfSuffix
=
"(Of"
Private
Const
GenericSuffix
=
OfSuffix
+
" "
&
UnicodeEllipsis
&
")"
Friend
ReadOnly
Default
TriggerChars
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
"."
c
,
"["
c
,
"#"
c
,
" "
c
,
"="
c
,
"<"
c
,
"{"
c
)
Friend
ReadOnly
Common
TriggerChars
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
"."
c
,
"["
c
,
"#"
c
,
" "
c
,
"="
c
,
"<"
c
,
"{"
c
)
Friend
ReadOnly
DefaultTriggerCharsAndParen
As
ImmutableHashSet
(
Of
Char
)
=
Default
TriggerChars
.
Add
(
"("
c
)
Friend
ReadOnly
CommonTriggerCharsAndParen
As
ImmutableHashSet
(
Of
Char
)
=
Common
TriggerChars
.
Add
(
"("
c
)
Friend
ReadOnly
SpaceTriggerChar
s
As
ImmutableHashSet
(
Of
Char
)
=
Default
TriggerChars
.
Add
(
" "
c
)
Friend
ReadOnly
SpaceTriggerChar
As
ImmutableHashSet
(
Of
Char
)
=
Common
TriggerChars
.
Add
(
" "
c
)
Public
Function
GetCompletionItemSpan
(
text
As
SourceText
,
position
As
Integer
)
As
TextSpan
Return
CommonCompletionUtilities
.
GetWordSpan
(
...
...
@@ -47,7 +47,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Public
Function
IsDefaultTriggerCharacter
(
text
As
SourceText
,
characterPosition
As
Integer
,
options
As
OptionSet
)
As
Boolean
Dim
ch
=
text
(
characterPosition
)
If
Default
TriggerChars
.
Contains
(
ch
)
Then
If
Common
TriggerChars
.
Contains
(
ch
)
Then
Return
True
End
If
...
...
@@ -59,7 +59,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
_
ch
=
"("
c
OrElse
Default
TriggerChars
.
Contains
(
ch
)
OrElse
Common
TriggerChars
.
Contains
(
ch
)
OrElse
IsStartingNewWord
(
text
,
characterPosition
,
options
)
End
Function
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/CrefCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -36,7 +36,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerChars
<
ImportingConstructor
>
Public
Sub
New
()
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/EnumCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -97,7 +97,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
options
.
GetOption
(
CompletionOptions
.
TriggerOnTypingLetters
,
LanguageNames
.
VisualBasic
)
End
Function
Friend
Overrides
ReadOnly
Property
Possible
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
" "
c
,
"("
c
,
"="
c
)
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
" "
c
,
"("
c
,
"="
c
)
Private
Function
GetTypeFromSymbol
(
symbol
As
ISymbol
)
As
ITypeSymbol
Dim
symbolType
=
If
(
TryCast
(
symbol
,
IFieldSymbol
)
?
.
Type
,
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/HandlesClauseCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -54,7 +54,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerChars
Private
Function
GetTopLevelIdentifiersAsync
(
context
As
VisualBasicSyntaxContext
,
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImplementsClauseCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -31,7 +31,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerChars
Protected
Overrides
Function
IsExclusive
()
As
Boolean
Return
True
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImportCompletionProvider/ExtensionMethodImportCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -33,7 +33,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacterOrParen
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerChars
Protected
Overrides
Function
CreateContextAsync
(
document
As
Document
,
position
As
Integer
,
cancellationToken
As
CancellationToken
)
As
Task
(
Of
SyntaxContext
)
Return
ImportCompletionProviderHelper
.
CreateContextAsync
(
document
,
position
,
cancellationToken
)
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ImportCompletionProvider/TypeImportCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -28,7 +28,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacterOrParen
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerCharsAndParen
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerCharsAndParen
Protected
Overrides
Function
CreateContextAsync
(
document
As
Document
,
position
As
Integer
,
cancellationToken
As
CancellationToken
)
As
Task
(
Of
SyntaxContext
)
Return
ImportCompletionProviderHelper
.
CreateContextAsync
(
document
,
position
,
cancellationToken
)
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/KeywordCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -34,7 +34,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacterOrParen
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerCharsAndParen
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerCharsAndParen
Private
Shared
ReadOnly
s_tupleRules
As
CompletionItemRules
=
CompletionItemRules
.
Default
.
WithCommitCharacterRule
(
CharacterSetModificationRule
.
Create
(
CharacterSetModificationKind
.
Remove
,
":"
c
))
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/NamedParameterCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -19,7 +19,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
<
ExtensionOrder
(
After
:
=
NameOf
(
EnumCompletionProvider
))
>
<
[
Shared
]
>
Partial
Friend
Class
NamedParameterCompletionProvider
Inherits
Common
CompletionProvider
Inherits
LSP
CompletionProvider
Friend
Const
s_colonEquals
As
String
=
":="
...
...
@@ -31,7 +31,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerChars
Public
Overrides
Async
Function
ProvideCompletionsAsync
(
context
As
CompletionContext
)
As
Task
Try
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ObjectCreationCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -28,7 +28,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
SpaceTriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
SpaceTriggerChar
Protected
Overrides
Function
GetObjectCreationNewExpression
(
tree
As
SyntaxTree
,
position
As
Integer
,
cancellationToken
As
CancellationToken
)
As
SyntaxNode
Dim
newExpression
As
SyntaxNode
=
Nothing
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/ObjectInitializerCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -97,7 +97,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
text
(
characterPosition
)
=
"."
c
End
Function
Friend
Overrides
ReadOnly
Property
Possible
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
"."
c
)
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
"."
c
)
Protected
Overrides
Function
IsExclusiveAsync
(
document
As
Document
,
position
As
Integer
,
cancellationToken
As
CancellationToken
)
As
Task
(
Of
Boolean
)
' Object initializers are explicitly indicated by "With", so we're always exclusive.
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/OverrideCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -59,7 +59,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
SpaceTriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
SpaceTriggerChar
Public
Overrides
Function
TryDetermineModifiers
(
startToken
As
SyntaxToken
,
text
As
SourceText
,
startLine
As
Integer
,
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/PartialTypeCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -45,7 +45,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerChars
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerChars
Protected
Overrides
Function
GetPartialTypeSyntaxNode
(
tree
As
SyntaxTree
,
position
As
Integer
,
cancellationToken
As
CancellationToken
)
As
SyntaxNode
Dim
statement
As
TypeStatementSyntax
=
Nothing
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/SymbolCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -32,7 +32,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
Return
CompletionUtilities
.
IsDefaultTriggerCharacterOrParen
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
PossibleTriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Default
TriggerCharsAndParen
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
CompletionUtilities
.
Common
TriggerCharsAndParen
Protected
Overrides
Async
Function
IsSemanticTriggerCharacterAsync
(
document
As
Document
,
characterPosition
As
Integer
,
cancellationToken
As
CancellationToken
)
As
Task
(
Of
Boolean
)
If
document
Is
Nothing
Then
...
...
src/Features/VisualBasic/Portable/Completion/CompletionProviders/XmlDocCommentCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -34,7 +34,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.Completion.Providers
IsTriggerAfterSpaceOrStartOfWordCharacter
(
text
,
characterPosition
,
options
)
End
Function
Friend
Overrides
ReadOnly
Property
Possible
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
"<"
c
,
"/"
c
,
"
""
"
c
,
" "
c
)
Friend
Overrides
ReadOnly
Property
TriggerCharacters
As
ImmutableHashSet
(
Of
Char
)
=
ImmutableHashSet
.
Create
(
"<"
c
,
"/"
c
,
"
""
"
c
,
" "
c
)
Public
Function
GetPreviousTokenIfTouchingText
(
token
As
SyntaxToken
,
position
As
Integer
)
As
SyntaxToken
Return
If
(
token
.
IntersectsWith
(
position
)
AndAlso
IsText
(
token
),
...
...
src/Tools/ExternalAccess/FSharp/Internal/Completion/FSharpInternalCommonCompletionProvider.cs
浏览文件 @
731b9049
...
...
@@ -35,11 +35,5 @@ internal override bool IsInsertionTrigger(SourceText text, int insertedCharacter
{
return
_provider
.
IsInsertionTrigger
(
text
,
insertedCharacterPosition
,
options
);
}
/// <summary>
/// Pulled from https://github.com/dotnet/fsharp/blob/master/vsintegration/src/FSharp.Editor/Completion/FileSystemCompletion.fs#L140
/// but this is incredibly fragile.
/// </summary>
internal
override
ImmutableHashSet
<
char
>
PossibleTriggerCharacters
=>
ImmutableHashSet
.
Create
(
'"'
,
'\\'
,
','
,
'/'
);
}
}
src/VisualStudio/VisualBasic/Impl/Snippets/SnippetCompletionProvider.vb
浏览文件 @
731b9049
...
...
@@ -23,7 +23,7 @@ Imports Microsoft.VisualStudio.Text.Editor
Namespace
Microsoft.VisualStudio.LanguageServices.VisualBasic.Snippets
<
ExportCompletionProviderMef1
(
"SnippetCompletionProvider"
,
LanguageNames
.
VisualBasic
)
>
Partial
Friend
Class
SnippetCompletionProvider
Inherits
Common
CompletionProvider
Inherits
LSP
CompletionProvider
Implements
ICustomCommitCompletionProvider
Private
ReadOnly
_threadingContext
As
IThreadingContext
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录