提交 8bbd654e 编写于 作者: C CyrusNajmabadi

Move SymbolSearch options down to teh Workspace layer.

上级 87e8e65c
...@@ -34,8 +34,8 @@ protected override async Task<TestWorkspace> CreateWorkspaceFromFileAsync(string ...@@ -34,8 +34,8 @@ protected override async Task<TestWorkspace> CreateWorkspaceFromFileAsync(string
{ {
var workspace = await base.CreateWorkspaceFromFileAsync(definition, parseOptions, compilationOptions); var workspace = await base.CreateWorkspaceFromFileAsync(definition, parseOptions, compilationOptions);
workspace.Options = workspace.Options workspace.Options = workspace.Options
.WithChangedOption(AddImportOptions.SuggestForTypesInNuGetPackages, LanguageNames.CSharp, true) .WithChangedOption(SymbolSearchOptions.SuggestForTypesInNuGetPackages, LanguageNames.CSharp, true)
.WithChangedOption(AddImportOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.CSharp, true); .WithChangedOption(SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.CSharp, true);
return workspace; return workspace;
} }
......
...@@ -26,8 +26,8 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.AddImp ...@@ -26,8 +26,8 @@ Namespace Microsoft.CodeAnalysis.Editor.VisualBasic.UnitTests.CodeActions.AddImp
Protected Overrides Async Function CreateWorkspaceFromFileAsync(definition As String, parseOptions As ParseOptions, compilationOptions As CompilationOptions) As Task(Of TestWorkspace) Protected Overrides Async Function CreateWorkspaceFromFileAsync(definition As String, parseOptions As ParseOptions, compilationOptions As CompilationOptions) As Task(Of TestWorkspace)
Dim workspace = Await MyBase.CreateWorkspaceFromFileAsync(definition, parseOptions, compilationOptions) Dim workspace = Await MyBase.CreateWorkspaceFromFileAsync(definition, parseOptions, compilationOptions)
workspace.Options = workspace.Options. workspace.Options = workspace.Options.
WithChangedOption(AddImportOptions.SuggestForTypesInNuGetPackages, LanguageNames.VisualBasic, True). WithChangedOption(SymbolSearchOptions.SuggestForTypesInNuGetPackages, LanguageNames.VisualBasic, True).
WithChangedOption(AddImportOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.VisualBasic, True) WithChangedOption(SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.VisualBasic, True)
Return workspace Return workspace
End Function End Function
......
...@@ -266,9 +266,9 @@ private async Task<IList<SymbolReference>> GetMatchingTypesAsync(SearchScope sea ...@@ -266,9 +266,9 @@ private async Task<IList<SymbolReference>> GetMatchingTypesAsync(SearchScope sea
var options = workspaceServices.Workspace.Options; var options = workspaceServices.Workspace.Options;
var searchReferenceAssemblies = options.GetOption( var searchReferenceAssemblies = options.GetOption(
AddImportOptions.SuggestForTypesInReferenceAssemblies, language); SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, language);
var searchNugetPackages = options.GetOption( var searchNugetPackages = options.GetOption(
AddImportOptions.SuggestForTypesInNuGetPackages, language); SymbolSearchOptions.SuggestForTypesInNuGetPackages, language);
if (symbolSearchService != null && if (symbolSearchService != null &&
searchReferenceAssemblies) searchReferenceAssemblies)
......
...@@ -372,9 +372,7 @@ ...@@ -372,9 +372,7 @@
<Compile Include="RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs" /> <Compile Include="RemoveUnnecessaryImports\AbstractRemoveUnnecessaryImportsService.cs" />
<Compile Include="ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs" /> <Compile Include="ReplaceMethodWithProperty\ReplaceMethodWithPropertyCodeRefactoringProvider.cs" />
<Compile Include="ReplaceMethodWithProperty\IReplaceMethodWithPropertyService.cs" /> <Compile Include="ReplaceMethodWithProperty\IReplaceMethodWithPropertyService.cs" />
<Compile Include="Shared\Options\AddImportOptionsProvider.cs" />
<Compile Include="Shared\Extensions\ProjectExtensions.cs" /> <Compile Include="Shared\Extensions\ProjectExtensions.cs" />
<Compile Include="Shared\Options\AddImportOptions.cs" />
<Compile Include="Shared\Options\ServiceComponentOnOffOptionsProvider.cs" /> <Compile Include="Shared\Options\ServiceComponentOnOffOptionsProvider.cs" />
<Compile Include="Shared\Options\ServiceFeatureOnOffOptions.cs" /> <Compile Include="Shared\Options\ServiceFeatureOnOffOptions.cs" />
<Compile Include="Shared\Options\ServiceFeatureOnOffOptionsProvider.cs" /> <Compile Include="Shared\Options\ServiceFeatureOnOffOptionsProvider.cs" />
......
...@@ -10,7 +10,5 @@ namespace Microsoft.CodeAnalysis.Shared.Options ...@@ -10,7 +10,5 @@ namespace Microsoft.CodeAnalysis.Shared.Options
internal static class ServiceComponentOnOffOptions internal static class ServiceComponentOnOffOptions
{ {
public static readonly Option<bool> DiagnosticProvider = new Option<bool>(nameof(ServiceComponentOnOffOptions), nameof(DiagnosticProvider), defaultValue: true); public static readonly Option<bool> DiagnosticProvider = new Option<bool>(nameof(ServiceComponentOnOffOptions), nameof(DiagnosticProvider), defaultValue: true);
public static readonly Option<bool> SymbolSearch = new Option<bool>(nameof(ServiceComponentOnOffOptions), nameof(SymbolSearch), defaultValue: true);
} }
} }
\ No newline at end of file
...@@ -12,8 +12,7 @@ namespace Microsoft.CodeAnalysis.Shared.Options ...@@ -12,8 +12,7 @@ namespace Microsoft.CodeAnalysis.Shared.Options
internal class ServiceComponentOnOffOptionsProvider : IOptionProvider internal class ServiceComponentOnOffOptionsProvider : IOptionProvider
{ {
private readonly IEnumerable<IOption> _options = ImmutableArray.Create( private readonly IEnumerable<IOption> _options = ImmutableArray.Create(
ServiceComponentOnOffOptions.DiagnosticProvider, ServiceComponentOnOffOptions.DiagnosticProvider);
ServiceComponentOnOffOptions.SymbolSearch);
public IEnumerable<IOption> GetOptions() => _options; public IEnumerable<IOption> GetOptions() => _options;
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
using Microsoft.CodeAnalysis.Editor.Shared.Options; using Microsoft.CodeAnalysis.Editor.Shared.Options;
using Microsoft.CodeAnalysis.ExtractMethod; using Microsoft.CodeAnalysis.ExtractMethod;
using Microsoft.CodeAnalysis.Shared.Options; using Microsoft.CodeAnalysis.Shared.Options;
using Microsoft.CodeAnalysis.SymbolSearch;
using Microsoft.VisualStudio.LanguageServices.Implementation; using Microsoft.VisualStudio.LanguageServices.Implementation;
using Microsoft.VisualStudio.LanguageServices.Implementation.Options; using Microsoft.VisualStudio.LanguageServices.Implementation.Options;
...@@ -19,8 +20,8 @@ public AdvancedOptionPageControl(IServiceProvider serviceProvider) : base(servic ...@@ -19,8 +20,8 @@ public AdvancedOptionPageControl(IServiceProvider serviceProvider) : base(servic
InitializeComponent(); InitializeComponent();
BindToOption(PlaceSystemNamespaceFirst, GenerationOptions.PlaceSystemNamespaceFirst, LanguageNames.CSharp); BindToOption(PlaceSystemNamespaceFirst, GenerationOptions.PlaceSystemNamespaceFirst, LanguageNames.CSharp);
BindToOption(SuggestForTypesInReferenceAssemblies, AddImportOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.CSharp); BindToOption(SuggestForTypesInReferenceAssemblies, SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.CSharp);
BindToOption(SuggestForTypesInNuGetPackages, AddImportOptions.SuggestForTypesInNuGetPackages, LanguageNames.CSharp); BindToOption(SuggestForTypesInNuGetPackages, SymbolSearchOptions.SuggestForTypesInNuGetPackages, LanguageNames.CSharp);
BindToOption(Split_string_literals_on_enter, SplitStringLiteralOptions.Enabled, LanguageNames.CSharp); BindToOption(Split_string_literals_on_enter, SplitStringLiteralOptions.Enabled, LanguageNames.CSharp);
BindToOption(EnterOutliningMode, FeatureOnOffOptions.Outlining, LanguageNames.CSharp); BindToOption(EnterOutliningMode, FeatureOnOffOptions.Outlining, LanguageNames.CSharp);
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
using Microsoft.CodeAnalysis.Options; using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Shared.Options; using Microsoft.CodeAnalysis.Shared.Options;
using Microsoft.CodeAnalysis.Simplification; using Microsoft.CodeAnalysis.Simplification;
using Microsoft.CodeAnalysis.SymbolSearch;
namespace Microsoft.VisualStudio.LanguageServices.CSharp.Options namespace Microsoft.VisualStudio.LanguageServices.CSharp.Options
{ {
...@@ -359,14 +360,14 @@ public int SortUsings_PlaceSystemFirst ...@@ -359,14 +360,14 @@ public int SortUsings_PlaceSystemFirst
public int AddImport_SuggestForTypesInReferenceAssemblies public int AddImport_SuggestForTypesInReferenceAssemblies
{ {
get { return GetBooleanOption(AddImportOptions.SuggestForTypesInReferenceAssemblies); } get { return GetBooleanOption(SymbolSearchOptions.SuggestForTypesInReferenceAssemblies); }
set { SetBooleanOption(AddImportOptions.SuggestForTypesInReferenceAssemblies, value); } set { SetBooleanOption(SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, value); }
} }
public int AddImport_SuggestForTypesInNuGetPackages public int AddImport_SuggestForTypesInNuGetPackages
{ {
get { return GetBooleanOption(AddImportOptions.SuggestForTypesInNuGetPackages); } get { return GetBooleanOption(SymbolSearchOptions.SuggestForTypesInNuGetPackages); }
set { SetBooleanOption(AddImportOptions.SuggestForTypesInNuGetPackages, value); } set { SetBooleanOption(SymbolSearchOptions.SuggestForTypesInNuGetPackages, value); }
} }
public int Space_AfterBasesColon public int Space_AfterBasesColon
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
using Microsoft.CodeAnalysis.Packaging; using Microsoft.CodeAnalysis.Packaging;
using Microsoft.CodeAnalysis.Shared.Options; using Microsoft.CodeAnalysis.Shared.Options;
using Microsoft.CodeAnalysis.Shared.Utilities; using Microsoft.CodeAnalysis.Shared.Utilities;
using Microsoft.CodeAnalysis.SymbolSearch;
using Microsoft.CodeAnalysis.Text; using Microsoft.CodeAnalysis.Text;
using Microsoft.VisualStudio.ComponentModelHost; using Microsoft.VisualStudio.ComponentModelHost;
using Microsoft.VisualStudio.Editor; using Microsoft.VisualStudio.Editor;
...@@ -61,9 +62,9 @@ internal partial class PackageInstallerService : AbstractDelayStartedService, IP ...@@ -61,9 +62,9 @@ internal partial class PackageInstallerService : AbstractDelayStartedService, IP
public PackageInstallerService( public PackageInstallerService(
VisualStudioWorkspaceImpl workspace, VisualStudioWorkspaceImpl workspace,
IVsEditorAdaptersFactoryService editorAdaptersFactoryService) IVsEditorAdaptersFactoryService editorAdaptersFactoryService)
: base(workspace, ServiceComponentOnOffOptions.SymbolSearch, : base(workspace, SymbolSearchOptions.Enabled,
AddImportOptions.SuggestForTypesInReferenceAssemblies, SymbolSearchOptions.SuggestForTypesInReferenceAssemblies,
AddImportOptions.SuggestForTypesInNuGetPackages) SymbolSearchOptions.SuggestForTypesInNuGetPackages)
{ {
_workspace = workspace; _workspace = workspace;
_editorAdaptersFactoryService = editorAdaptersFactoryService; _editorAdaptersFactoryService = editorAdaptersFactoryService;
......
...@@ -87,9 +87,9 @@ private static IRemoteControlService CreateRemoteControlService(VSShell.SVsServi ...@@ -87,9 +87,9 @@ private static IRemoteControlService CreateRemoteControlService(VSShell.SVsServi
string localSettingsDirectory, string localSettingsDirectory,
Func<Exception, bool> reportAndSwallowException, Func<Exception, bool> reportAndSwallowException,
CancellationTokenSource cancellationTokenSource) CancellationTokenSource cancellationTokenSource)
: base(workspace, ServiceComponentOnOffOptions.SymbolSearch, : base(workspace, SymbolSearchOptions.Enabled,
AddImportOptions.SuggestForTypesInReferenceAssemblies, SymbolSearchOptions.SuggestForTypesInReferenceAssemblies,
AddImportOptions.SuggestForTypesInNuGetPackages) SymbolSearchOptions.SuggestForTypesInNuGetPackages)
{ {
if (remoteControlService == null) if (remoteControlService == null)
{ {
......
...@@ -5,6 +5,7 @@ Imports Microsoft.CodeAnalysis.Editing ...@@ -5,6 +5,7 @@ Imports Microsoft.CodeAnalysis.Editing
Imports Microsoft.CodeAnalysis.Editor.Shared.Options Imports Microsoft.CodeAnalysis.Editor.Shared.Options
Imports Microsoft.CodeAnalysis.ExtractMethod Imports Microsoft.CodeAnalysis.ExtractMethod
Imports Microsoft.CodeAnalysis.Shared.Options Imports Microsoft.CodeAnalysis.Shared.Options
Imports Microsoft.CodeAnalysis.SymbolSearch
Imports Microsoft.VisualStudio.LanguageServices.Implementation Imports Microsoft.VisualStudio.LanguageServices.Implementation
Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options
...@@ -15,8 +16,8 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options ...@@ -15,8 +16,8 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options
InitializeComponent() InitializeComponent()
BindToOption(PlaceSystemNamespaceFirst, GenerationOptions.PlaceSystemNamespaceFirst, LanguageNames.VisualBasic) BindToOption(PlaceSystemNamespaceFirst, GenerationOptions.PlaceSystemNamespaceFirst, LanguageNames.VisualBasic)
BindToOption(SuggestForTypesInReferenceAssemblies, AddImportOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.VisualBasic) BindToOption(SuggestForTypesInReferenceAssemblies, SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, LanguageNames.VisualBasic)
BindToOption(SuggestForTypesInNuGetPackages, AddImportOptions.SuggestForTypesInNuGetPackages, LanguageNames.VisualBasic) BindToOption(SuggestForTypesInNuGetPackages, SymbolSearchOptions.SuggestForTypesInNuGetPackages, LanguageNames.VisualBasic)
BindToOption(EnableEndConstruct, FeatureOnOffOptions.EndConstruct, LanguageNames.VisualBasic) BindToOption(EnableEndConstruct, FeatureOnOffOptions.EndConstruct, LanguageNames.VisualBasic)
BindToOption(EnableOutlining, FeatureOnOffOptions.Outlining, LanguageNames.VisualBasic) BindToOption(EnableOutlining, FeatureOnOffOptions.Outlining, LanguageNames.VisualBasic)
......
...@@ -10,6 +10,7 @@ Imports Microsoft.CodeAnalysis.ExtractMethod ...@@ -10,6 +10,7 @@ Imports Microsoft.CodeAnalysis.ExtractMethod
Imports Microsoft.CodeAnalysis.Options Imports Microsoft.CodeAnalysis.Options
Imports Microsoft.CodeAnalysis.Shared.Options Imports Microsoft.CodeAnalysis.Shared.Options
Imports Microsoft.CodeAnalysis.Simplification Imports Microsoft.CodeAnalysis.Simplification
Imports Microsoft.CodeAnalysis.SymbolSearch
Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options
<ComVisible(True)> <ComVisible(True)>
...@@ -207,19 +208,19 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options ...@@ -207,19 +208,19 @@ Namespace Microsoft.VisualStudio.LanguageServices.VisualBasic.Options
Public Property Option_SuggestImportsForTypesInReferenceAssemblies As Boolean Public Property Option_SuggestImportsForTypesInReferenceAssemblies As Boolean
Get Get
Return GetBooleanOption(AddImportOptions.SuggestForTypesInReferenceAssemblies) Return GetBooleanOption(SymbolSearchOptions.SuggestForTypesInReferenceAssemblies)
End Get End Get
Set(value As Boolean) Set(value As Boolean)
SetBooleanOption(AddImportOptions.SuggestForTypesInReferenceAssemblies, value) SetBooleanOption(SymbolSearchOptions.SuggestForTypesInReferenceAssemblies, value)
End Set End Set
End Property End Property
Public Property Option_SuggestImportsForTypesInNuGetPackages As Boolean Public Property Option_SuggestImportsForTypesInNuGetPackages As Boolean
Get Get
Return GetBooleanOption(AddImportOptions.SuggestForTypesInNuGetPackages) Return GetBooleanOption(SymbolSearchOptions.SuggestForTypesInNuGetPackages)
End Get End Get
Set(value As Boolean) Set(value As Boolean)
SetBooleanOption(AddImportOptions.SuggestForTypesInNuGetPackages, value) SetBooleanOption(SymbolSearchOptions.SuggestForTypesInNuGetPackages, value)
End Set End Set
End Property End Property
......
using Microsoft.CodeAnalysis.Options; // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.CodeAnalysis.Shared.Options using Microsoft.CodeAnalysis.Options;
namespace Microsoft.CodeAnalysis.SymbolSearch
{ {
internal class AddImportOptions internal class SymbolSearchOptions
{ {
public static readonly Option<bool> Enabled = new Option<bool>(nameof(SymbolSearchOptions), nameof(Enabled), defaultValue: true);
public static PerLanguageOption<bool> SuggestForTypesInReferenceAssemblies = public static PerLanguageOption<bool> SuggestForTypesInReferenceAssemblies =
new PerLanguageOption<bool>(nameof(AddImportOptions), nameof(SuggestForTypesInReferenceAssemblies), defaultValue: false, new PerLanguageOption<bool>(nameof(SymbolSearchOptions), nameof(SuggestForTypesInReferenceAssemblies), defaultValue: false,
storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.SuggestForTypesInReferenceAssemblies")); storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.SuggestForTypesInReferenceAssemblies"));
public static PerLanguageOption<bool> SuggestForTypesInNuGetPackages = public static PerLanguageOption<bool> SuggestForTypesInNuGetPackages =
new PerLanguageOption<bool>(nameof(AddImportOptions), nameof(SuggestForTypesInNuGetPackages), defaultValue: false, new PerLanguageOption<bool>(nameof(SymbolSearchOptions), nameof(SuggestForTypesInNuGetPackages), defaultValue: false,
storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.SuggestForTypesInNuGetPackages")); storageLocations: new RoamingProfileStorageLocation("TextEditor.%LANGUAGE%.Specific.SuggestForTypesInNuGetPackages"));
} }
} }
using Microsoft.CodeAnalysis.Options; // Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Options.Providers; using Microsoft.CodeAnalysis.Options.Providers;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Immutable; using System.Collections.Immutable;
using System.Composition; using System.Composition;
namespace Microsoft.CodeAnalysis.Shared.Options namespace Microsoft.CodeAnalysis.SymbolSearch
{ {
[ExportOptionProvider, Shared] [ExportOptionProvider, Shared]
internal class AddImportOptionsProvider : IOptionProvider internal class SymbolSearchOptionsProvider : IOptionProvider
{ {
private readonly IEnumerable<IOption> _options = ImmutableArray.Create<IOption>( private readonly IEnumerable<IOption> _options = ImmutableArray.Create<IOption>(
AddImportOptions.SuggestForTypesInReferenceAssemblies, SymbolSearchOptions.Enabled,
AddImportOptions.SuggestForTypesInNuGetPackages); SymbolSearchOptions.SuggestForTypesInReferenceAssemblies,
SymbolSearchOptions.SuggestForTypesInNuGetPackages);
public IEnumerable<IOption> GetOptions() => _options; public IEnumerable<IOption> GetOptions() => _options;
} }
} }
\ No newline at end of file
...@@ -493,6 +493,8 @@ ...@@ -493,6 +493,8 @@
<Compile Include="SymbolKey\SymbolKey.ArrayTypeSymbolKey.cs" /> <Compile Include="SymbolKey\SymbolKey.ArrayTypeSymbolKey.cs" />
<Compile Include="SymbolKey\SymbolKey.SymbolKeyWriter.cs" /> <Compile Include="SymbolKey\SymbolKey.SymbolKeyWriter.cs" />
<Compile Include="SymbolKey\SymbolKey.cs" /> <Compile Include="SymbolKey\SymbolKey.cs" />
<Compile Include="SymbolSearch\SymbolSearchOptions.cs" />
<Compile Include="SymbolSearch\SymbolSearchOptionsProvider.cs" />
<Compile Include="SymbolSearch\ISymbolSearchService.cs" /> <Compile Include="SymbolSearch\ISymbolSearchService.cs" />
<Compile Include="FindSymbols\SymbolTree\ISymbolTreeInfoCacheService.cs" /> <Compile Include="FindSymbols\SymbolTree\ISymbolTreeInfoCacheService.cs" />
<Compile Include="FindSymbols\FindReferences\MetadataUnifyingEquivalenceComparer.cs" /> <Compile Include="FindSymbols\FindReferences\MetadataUnifyingEquivalenceComparer.cs" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册