/// <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);
                }
            }
        }
Пример #2
0
        /// <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);
            }
        }