提交 3ef4e7a7 编写于 作者: A Andrew Casey

Stop setting InternalFeatureOnOffOptions

We were doing so to disable snippets in the interactive window, but it
turns out that it's per-user, rather than per-workspace.

Fixes #5393
上级 6eca7dcd
...@@ -97,6 +97,7 @@ internal class Model ...@@ -97,6 +97,7 @@ internal class Model
if (completionService != null && if (completionService != null &&
workspace != null && workspace != null &&
workspace.Kind != WorkspaceKind.Interactive && // TODO (https://github.com/dotnet/roslyn/issues/5107): support in interactive
workspace.Options.GetOption(InternalFeatureOnOffOptions.Snippets) && workspace.Options.GetOption(InternalFeatureOnOffOptions.Snippets) &&
triggerInfo.TriggerReason != CompletionTriggerReason.Snippets) triggerInfo.TriggerReason != CompletionTriggerReason.Snippets)
{ {
......
...@@ -25,9 +25,6 @@ internal InteractiveWorkspace(InteractiveEvaluator engine, HostServices hostServ ...@@ -25,9 +25,6 @@ internal InteractiveWorkspace(InteractiveEvaluator engine, HostServices hostServ
// register work coordinator for this workspace // register work coordinator for this workspace
_registrationService = this.Services.GetService<ISolutionCrawlerRegistrationService>(); _registrationService = this.Services.GetService<ISolutionCrawlerRegistrationService>();
_registrationService.Register(this); _registrationService.Register(this);
// TODO (https://github.com/dotnet/roslyn/issues/5107): Enable in Interactive.
this.Options = this.Options.WithChangedOption(InternalFeatureOnOffOptions.Snippets, false);
} }
protected override void Dispose(bool finalize) protected override void Dispose(bool finalize)
......
...@@ -38,7 +38,7 @@ public void ExecuteCommand(SurroundWithCommandArgs args, Action nextHandler) ...@@ -38,7 +38,7 @@ public void ExecuteCommand(SurroundWithCommandArgs args, Action nextHandler)
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
nextHandler(); nextHandler();
return; return;
...@@ -51,7 +51,7 @@ public CommandState GetCommandState(SurroundWithCommandArgs args, Func<CommandSt ...@@ -51,7 +51,7 @@ public CommandState GetCommandState(SurroundWithCommandArgs args, Func<CommandSt
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
return nextHandler(); return nextHandler();
} }
......
...@@ -49,7 +49,7 @@ protected virtual bool TryInvokeSnippetPickerOnQuestionMark(ITextView textView, ...@@ -49,7 +49,7 @@ protected virtual bool TryInvokeSnippetPickerOnQuestionMark(ITextView textView,
public void ExecuteCommand(TabKeyCommandArgs args, Action nextHandler) public void ExecuteCommand(TabKeyCommandArgs args, Action nextHandler)
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
nextHandler(); nextHandler();
return; return;
...@@ -83,7 +83,7 @@ public CommandState GetCommandState(TabKeyCommandArgs args, Func<CommandState> n ...@@ -83,7 +83,7 @@ public CommandState GetCommandState(TabKeyCommandArgs args, Func<CommandState> n
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
return nextHandler(); return nextHandler();
} }
...@@ -100,7 +100,7 @@ public CommandState GetCommandState(TabKeyCommandArgs args, Func<CommandState> n ...@@ -100,7 +100,7 @@ public CommandState GetCommandState(TabKeyCommandArgs args, Func<CommandState> n
public void ExecuteCommand(ReturnKeyCommandArgs args, Action nextHandler) public void ExecuteCommand(ReturnKeyCommandArgs args, Action nextHandler)
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
nextHandler(); nextHandler();
return; return;
...@@ -120,7 +120,7 @@ public CommandState GetCommandState(ReturnKeyCommandArgs args, Func<CommandState ...@@ -120,7 +120,7 @@ public CommandState GetCommandState(ReturnKeyCommandArgs args, Func<CommandState
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
return nextHandler(); return nextHandler();
} }
...@@ -137,7 +137,7 @@ public CommandState GetCommandState(ReturnKeyCommandArgs args, Func<CommandState ...@@ -137,7 +137,7 @@ public CommandState GetCommandState(ReturnKeyCommandArgs args, Func<CommandState
public void ExecuteCommand(EscapeKeyCommandArgs args, Action nextHandler) public void ExecuteCommand(EscapeKeyCommandArgs args, Action nextHandler)
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
nextHandler(); nextHandler();
return; return;
...@@ -157,7 +157,7 @@ public CommandState GetCommandState(EscapeKeyCommandArgs args, Func<CommandState ...@@ -157,7 +157,7 @@ public CommandState GetCommandState(EscapeKeyCommandArgs args, Func<CommandState
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
return nextHandler(); return nextHandler();
} }
...@@ -174,7 +174,7 @@ public CommandState GetCommandState(EscapeKeyCommandArgs args, Func<CommandState ...@@ -174,7 +174,7 @@ public CommandState GetCommandState(EscapeKeyCommandArgs args, Func<CommandState
public void ExecuteCommand(BackTabKeyCommandArgs args, Action nextHandler) public void ExecuteCommand(BackTabKeyCommandArgs args, Action nextHandler)
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
nextHandler(); nextHandler();
return; return;
...@@ -194,7 +194,7 @@ public CommandState GetCommandState(BackTabKeyCommandArgs args, Func<CommandStat ...@@ -194,7 +194,7 @@ public CommandState GetCommandState(BackTabKeyCommandArgs args, Func<CommandStat
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
return nextHandler(); return nextHandler();
} }
...@@ -212,7 +212,7 @@ public void ExecuteCommand(InsertSnippetCommandArgs args, Action nextHandler) ...@@ -212,7 +212,7 @@ public void ExecuteCommand(InsertSnippetCommandArgs args, Action nextHandler)
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
nextHandler(); nextHandler();
return; return;
...@@ -225,7 +225,7 @@ public CommandState GetCommandState(InsertSnippetCommandArgs args, Func<CommandS ...@@ -225,7 +225,7 @@ public CommandState GetCommandState(InsertSnippetCommandArgs args, Func<CommandS
{ {
AssertIsForeground(); AssertIsForeground();
if (!args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets)) if (!AreSnippetsEnabled(args))
{ {
return nextHandler(); return nextHandler();
} }
...@@ -303,5 +303,13 @@ protected bool TryGetExpansionManager(out IVsExpansionManager expansionManager) ...@@ -303,5 +303,13 @@ protected bool TryGetExpansionManager(out IVsExpansionManager expansionManager)
textManager.GetExpansionManager(out expansionManager); textManager.GetExpansionManager(out expansionManager);
return expansionManager != null; return expansionManager != null;
} }
protected static bool AreSnippetsEnabled(CommandArgs args)
{
Workspace workspace;
return args.SubjectBuffer.GetOption(InternalFeatureOnOffOptions.Snippets) &&
// TODO (https://github.com/dotnet/roslyn/issues/5107): enable in interactive
!(Workspace.TryGetWorkspace(args.SubjectBuffer.AsTextContainer(), out workspace) && workspace.Kind == WorkspaceKind.Interactive);
}
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册