/// <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); } } }
/// <summary> /// Writes integer value to XML settings /// </summary> protected void WriteIntToXml(IVsSettingsWriter writer, string name, int value) { int hr = writer.WriteSettingLong(name, value); if (hr != VSConstants.S_OK) { writer.ReportError(name + " value cannot be written", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError); } }
/// <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); } }