Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandy Armstrong <sandy@xamarin.com>2019-07-25 22:31:11 +0300
committerSandy Armstrong <sandy@xamarin.com>2019-07-25 22:31:30 +0300
commit3042697aa8841b69f739bf6de1428186a52ddfb0 (patch)
treefd9e8eaff927925e3a6fc2ee09e2b29ad115c3c0
parentc405fed707a91c713eff511838c0a76aefab760d (diff)
Editor: Respect pref to not show completion window while typing
In the new editor (as on Windows), this is controlled at the language service level, not the editor level. So, just like with "Show import items", it should really be a per-language setting. Just like with "Show import items", set the C#-specific preference along with the global preference. This does not address the problem for other languages that default to new editor (like XAML and AXML). Note that the associated `ConfigurationProperty` is initialized lazily, because otherwise its dependency on `DefaultSourceEditorOptions` leads to a circular initialization dependency and hangs the IDE. Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/950309
-rw-r--r--main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/CompletionOptionsPanel.cs1
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/RoslynPreferences.cs8
2 files changed, 9 insertions, 0 deletions
diff --git a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/CompletionOptionsPanel.cs b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/CompletionOptionsPanel.cs
index a529938466..989b024377 100644
--- a/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/CompletionOptionsPanel.cs
+++ b/main/src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.OptionPanels/CompletionOptionsPanel.cs
@@ -93,6 +93,7 @@ namespace MonoDevelop.SourceEditor.OptionPanels
void IOptionsPanel.ApplyChanges ()
{
DefaultSourceEditorOptions.Instance.EnableAutoCodeCompletion = autoCodeCompletionCheckbutton.Active;
+ IdeApp.Preferences.Roslyn.CSharp.TriggerOnTypingLetters.Value = autoCodeCompletionCheckbutton.Active;
IdeApp.Preferences.AddImportedItemsToCompletionList.Value = showImportsCheckbutton.Active;
IdeApp.Preferences.Roslyn.CSharp.ShowItemsFromUnimportedNamespaces.Value = showImportsCheckbutton.Active;
IdeApp.Preferences.IncludeKeywordsInCompletionList.Value = includeKeywordsCheckbutton.Active;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/RoslynPreferences.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/RoslynPreferences.cs
index 8185675702..05f7e456db 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/RoslynPreferences.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/RoslynPreferences.cs
@@ -77,6 +77,8 @@ namespace MonoDevelop.Ide.RoslynServices.Options
public readonly ConfigurationProperty<bool> SuggestForTypesInNuGetPackages;
public readonly ConfigurationProperty<bool> SolutionCrawlerClosedFileDiagnostic;
public readonly ConfigurationProperty<bool?> TriggerOnDeletion;
+ readonly Lazy<ConfigurationProperty<bool>> triggerOnTypingLetters;
+ public ConfigurationProperty<bool> TriggerOnTypingLetters => triggerOnTypingLetters.Value;
internal PerLanguagePreferences (string language, RoslynPreferences preferences)
{
@@ -141,6 +143,12 @@ namespace MonoDevelop.Ide.RoslynServices.Options
new OptionKey (CompletionOptions.TriggerOnDeletion, language),
language + ".TriggerOnDeletion"
);
+
+ triggerOnTypingLetters = new Lazy<ConfigurationProperty<bool>> (() => preferences.Wrap<bool> (
+ new OptionKey (CompletionOptions.TriggerOnTypingLetters, language),
+ MonoDevelop.Ide.Editor.DefaultSourceEditorOptions.Instance.EnableAutoCodeCompletion,
+ language + ".TriggerOnTypingLetters"
+ ));
}
class ClosedFileDiagnosticProperty : ConfigurationProperty<bool>