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:
authorMike Krüger <mikkrg@microsoft.com>2018-06-20 11:37:57 +0300
committerMike Krüger <mikkrg@microsoft.com>2018-08-21 13:44:32 +0300
commit713da771f728bf3159cae394fa8997c34c3e4368 (patch)
tree03f523e5f73e2cb6e2673beeab6556effe48481e /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options
parent51f8edcd50052bc3af7afb4adca6bbd93d12b07b (diff)
[Ide] Implemented roslyn option persistance for general roslyn
options.
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options')
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/MonoDevelopGlobalOptionPersister.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/MonoDevelopGlobalOptionPersister.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/MonoDevelopGlobalOptionPersister.cs
index 76503232c6..0c83c5e5ff 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/MonoDevelopGlobalOptionPersister.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options/MonoDevelopGlobalOptionPersister.cs
@@ -128,6 +128,18 @@ namespace MonoDevelop.Ide.RoslynServices.Options
} catch (Exception ex) {
LoggingService.LogError ($"Failed to serialize key: {storageKey} type: {optionKey.Option.Type}", ex);
}
+ } else {
+ // Non property case
+ var propertyName = optionKey.GetPropertyName ();
+ if (propertyName == null) // empty storage location
+ return false;
+ MonitorChanges (storageKey, optionKey);
+ try {
+ var serializedValue = Serialize (value, optionKey.Option.Type);
+ PropertyService.Set (propertyName, serializedValue);
+ } catch (Exception ex) {
+ LoggingService.LogError ($"Failed to serialize key: {storageKey} type: {optionKey.Option.Type}", ex);
+ }
}
return false;