/// <summary> /// Saves settings to XML (on settings export) /// </summary> public override void SaveSettingsToXml(IVsSettingsWriter writer) { WriteBoolToXml(writer, "ShowFilterContext", SettingsObject.Instance.ShowContextColumn); WriteBoolToXml(writer, "UseReflectionInAsp", SettingsObject.Instance.UseReflectionInAsp); WriteIntToXml(writer, "MarkNotLocalizableStringsIndex", SettingsObject.Instance.MarkNotLocalizableStringsIndex); WriteIntToXml(writer, "NamespacePolicyIndex", SettingsObject.Instance.NamespacePolicyIndex); WriteIntToXml(writer, "BatchMoveSplitterDistance", SettingsObject.Instance.BatchMoveSplitterDistance); WriteIntToXml(writer, "SelectedKeyIndex", SettingsObject.Instance.SelectedKeyIndex); WriteBoolToXml(writer, "SelectedUseFullName", SettingsObject.Instance.SelectedUseFullName); if (SettingsObject.Instance.SelectedResourceFilePath != null) { writer.WriteSettingString("SelectedResourceFilePath", SettingsObject.Instance.SelectedResourceFilePath); } foreach (var pair in SettingsObject.Instance.CommonLocalizabilityCriteria) { LocalizationCommonCriterion crit = pair.Value; writer.WriteSettingString(crit.Name, crit.ToRegData()); } WriteIntToXml(writer, "CustomCriteriaCount", SettingsObject.Instance.CustomLocalizabilityCriteria.Count); for (int i = 0; i < SettingsObject.Instance.CustomLocalizabilityCriteria.Count; i++) { int hr = writer.WriteSettingString("CustomCriteria" + i, SettingsObject.Instance.CustomLocalizabilityCriteria[i].ToRegData()); if (hr != VSConstants.S_OK) { writer.ReportError("CustomCriteria value cannot be written", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError); } } }
// based on information from : https://github.com/hesam/SketchSharp/blob/master/SpecSharp/SpecSharp/Microsoft.VisualStudio.Shell/DialogPage.cs public override void SaveSettingsToXml(IVsSettingsWriter writer) { writer.WriteSettingString(ATASettings.Keys.AttachDescriptorDefaultMultipleMatchHandling, MultipleMatchHandlingDefault.ToString()); for (var i = 0; i < ATAConstants.MaxCommands; i++) { var item = i >= Attachables.Count ? new AttachDescriptor() : Attachables[i]; if (string.IsNullOrWhiteSpace(item.Name) || !item.ProcessNames.Any()) { continue; } // only items with names and processes writer.WriteSettingString(ATASettings.Keys.AttachDescriptorName, i, item.Name); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorEnabled, i, item.Enabled); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorProcessNames, i, string.Join(ATAConstants.ProcessNamesSeparator, item.ProcessNames)); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorMultipleMatchHandling, i, item.MultiMatchHandling.ToString()); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorIsProcessNamesRegex, i, item.IsProcessNamesRegex); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorUsername, i, item.Username); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorIsUsernameRegex, i, item.IsUsernameRegex); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorAppPool, i, item.AppPool); writer.WriteSettingString(ATASettings.Keys.AttachDescriptorIsAppPoolRegex, i, item.IsAppPoolRegex); } base.SaveSettingsToXml(writer); }
public string Save(IVsSettingsWriter writer) { var key = ContentType ?? DefaultThemeName; var subkeys = string.Join(";", LineFormats.Values .Where(item => item.ShouldSerialize()) .Select(item => key + "." + item.FormatIndexName)); writer.WriteSettingString(key, subkeys); Behavior.Save(writer, key); writer.WriteSettingString("CaretHandler", CaretHandler ?? DefaultCaretHandler); foreach (var item in LineFormats.Values.Where(item => item.ShouldSerialize())) { var subkeyName = key + "." + item.FormatIndexName; writer.WriteSettingString(subkeyName, ""); var values = item.ToInvariantStrings(); writer.WriteSettingAttribute(subkeyName, "Keys", string.Join(";", values.Keys)); foreach (var kv in values) { writer.WriteSettingAttribute(subkeyName, kv.Key, kv.Value); } } return(key); }
/// <inheritdoc/> public override void SaveSettingsToXml(IVsSettingsWriter writer) { try { base.SaveSettingsToXml(writer); // Write settings to XML writer.WriteSettingString(RegPreviewExe, this.PreviewToolExecutablePath); writer.WriteSettingString(RegPreviewCmdLine, this.PreviewToolCommandLine); } catch (Exception e) { Debug.Assert(false, "Error exporting Slow Cheetah settings: " + e.Message); } }
/// <include file='doc\DialogPage.uex' path='docs/doc[@for="DialogPage.SaveSettingsToXml"]' /> /// <devdoc> /// This method does the reverse of LoadSettingsFromXml. /// </devdoc> public virtual void SaveSettingsToXml(IVsSettingsWriter writer) { object automationObject = this.AutomationObject; PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(automationObject, new Attribute[] { DesignerSerializationVisibilityAttribute.Visible }); // [clovett] Sort the names so that tests can depend on the order returned, otherwise the order changes // randomly based on some internal hashtable seed. Besides it makes it easier for the user to // read the .vssettings files. ArrayList sortedNames = new ArrayList(); foreach (PropertyDescriptor property in properties) { sortedNames.Add(property.Name); } sortedNames.Sort(); foreach (string name in sortedNames) { PropertyDescriptor property = properties[name]; TypeConverter converter = property.Converter; if (converter.CanConvertTo(typeof(string)) && converter.CanConvertFrom(typeof(string))) { NativeMethods.ThrowOnFailure( writer.WriteSettingString(property.Name, converter.ConvertToInvariantString(property.GetValue(automationObject))) ); } } }
public static void WriteSettingString(this IVsSettingsWriter writer, string keyFormat, int index, string value) { if (value == null) { return; } var name = string.Format(keyFormat, index); writer.WriteSettingString(name, value); }
/// <summary> /// Saves settings to XML (on settings export) /// </summary> /// <param name="writer"></param> public override void SaveSettingsToXml(IVsSettingsWriter writer) { WriteIntToXml(writer, "ReferenceUpdateInterval", SettingsObject.Instance.ReferenceUpdateInterval); WriteIntToXml(writer, "BadKeyNamePolicy", (int)SettingsObject.Instance.BadKeyNamePolicy); WriteBoolToXml(writer, "OptimizeSpecialSequencesInTranslation", SettingsObject.Instance.OptimizeSpecialSequencesInTranslation); WriteIntToXml(writer, "LanguagesCount", SettingsObject.Instance.LanguagePairs.Count); for (int i = 0; i < SettingsObject.Instance.LanguagePairs.Count; i++) { int hr = writer.WriteSettingString("Language" + i, SettingsObject.Instance.LanguagePairs[i].FromLanguage + ":" + SettingsObject.Instance.LanguagePairs[i].ToLanguage); if (hr != VSConstants.S_OK) { writer.ReportError("Language value cannot be written", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError); } } int r = writer.WriteSettingString("BingAppId", SettingsObject.Instance.BingAppId == null ? string.Empty : SettingsObject.Instance.BingAppId); if (r != VSConstants.S_OK) { writer.ReportError("BingAppId value cannot be written", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError); } }
public void SaveSettingsToXml(IVsSettingsWriter writer) { RemarkerService service = this.Service; var stringBuilder = new StringBuilder(); foreach (var valueName in service.ValueNames) { stringBuilder.Append(valueName); stringBuilder.Append(";"); service.Save(writer, valueName); } writer.WriteSettingLong("Version", service.Version); writer.WriteSettingString("ValueKeys", stringBuilder.ToString()); }
public void Save(IVsSettingsWriter writer) { lock (_Themes) { var sb = new StringBuilder(); if (DefaultTheme != null) { sb.Append(DefaultTheme.Save(writer)); sb.Append(";"); } foreach (var theme in _Themes.Values) { sb.Append(theme.Save(writer)); sb.Append(";"); } writer.WriteSettingLong("Version", Version); writer.WriteSettingString("Themes", sb.ToString()); writer.WriteSettingLong("Visible", Visible ? 1 : 0); } }
public override void SaveSettingsToXml(IVsSettingsWriter writer) { var typeConverter = new ColorerFormatSettingsCollectionConverter(); var buildSettings = typeConverter.ConvertTo(BuildOutputSettings, typeof(string)) as string; if (buildSettings != null) writer.WriteSettingString("BuildOutputSettings", buildSettings); var debugSettings = typeConverter.ConvertTo(DebugOutputSettings, typeof(string)) as string; if (debugSettings != null) writer.WriteSettingString("DebugOutputSettings", debugSettings); }
/// <include file='doc\DialogPage.uex' path='docs/doc[@for="DialogPage.SaveSettingsToXml"]' /> /// <devdoc> /// This method does the reverse of LoadSettingsFromXml. /// </devdoc> public virtual void SaveSettingsToXml(IVsSettingsWriter writer) { object automationObject = this.AutomationObject; PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(automationObject, new Attribute[] {DesignerSerializationVisibilityAttribute.Visible}); // [clovett] Sort the names so that tests can depend on the order returned, otherwise the order changes // randomly based on some internal hashtable seed. Besides it makes it easier for the user to // read the .vssettings files. ArrayList sortedNames = new ArrayList(); foreach (PropertyDescriptor property in properties) { sortedNames.Add(property.Name); } sortedNames.Sort(); foreach(string name in sortedNames) { PropertyDescriptor property = properties[name]; TypeConverter converter = property.Converter; if (converter.CanConvertTo(typeof(string)) && converter.CanConvertFrom(typeof(string))) { NativeMethods.ThrowOnFailure( writer.WriteSettingString(property.Name, converter.ConvertToInvariantString(property.GetValue(automationObject))) ); } } }
public void SaveSettingsToXml(IVsSettingsWriter writer) { writer.WriteSettingString("ListedExtensions", ListedExtensionsString); }
public void Save(IVsSettingsWriter writer, string valueName) { string value = this.ReadValue(valueName); writer.WriteSettingString(valueName, value); }