diff options
author | Mike Krüger <mikkrg@microsoft.com> | 2018-06-20 11:37:57 +0300 |
---|---|---|
committer | Mike Krüger <mikkrg@microsoft.com> | 2018-08-21 13:44:32 +0300 |
commit | 713da771f728bf3159cae394fa8997c34c3e4368 (patch) | |
tree | 03f523e5f73e2cb6e2673beeab6556effe48481e /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.RoslynServices.Options | |
parent | 51f8edcd50052bc3af7afb4adca6bbd93d12b07b (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.cs | 12 |
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; |