コード例 #1
0
        /// <summary>
        /// Loads settings from XML (on import settings)
        /// </summary>
        /// <param name="reader"></param>
        public override void LoadSettingsFromXml(IVsSettingsReader reader)
        {
            SettingsObject.Instance.IgnorePropertyChanges = true;

            SettingsObject.Instance.ReferenceUpdateInterval = ReadIntFromXml(reader, "ReferenceUpdateInterval");
            SettingsObject.Instance.BadKeyNamePolicy        = (BAD_KEY_NAME_POLICY)ReadIntFromXml(reader, "BadKeyNamePolicy");
            SettingsObject.Instance.OptimizeSpecialSequencesInTranslation = ReadBoolFromXml(reader, "OptimizeSpecialSequencesInTranslation");

            int count = ReadIntFromXml(reader, "LanguagesCount");

            for (int i = 0; i < count; i++)
            {
                string pair;
                int    hr = reader.ReadSettingString("Language" + i, out pair);
                if (hr != VSConstants.S_OK)
                {
                    reader.ReportError("Language value cannot be read", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError);
                }

                string[] arr = pair.Split(':');

                SettingsObject.Instance.LanguagePairs.Add(new SettingsObject.LanguagePair()
                {
                    FromLanguage = arr[0],
                    ToLanguage   = arr[1]
                });
            }

            string s;
            int    r = reader.ReadSettingString("BingAppId", out s);

            if (r != VSConstants.S_OK)
            {
                reader.ReportError("BingAppId value cannot be read", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError);
            }
            SettingsObject.Instance.BingAppId = s;
            if (string.IsNullOrEmpty(SettingsObject.Instance.BingAppId))
            {
                SettingsObject.Instance.BingAppId = null;
            }


            SettingsObject.Instance.IgnorePropertyChanges = false;
            SettingsObject.Instance.NotifySettingsLoaded();
        }
コード例 #2
0
        /// <summary>
        /// Reads integer value from XML settings key
        /// </summary>
        protected int ReadIntFromXml(IVsSettingsReader reader, string name)
        {
            int p;
            int hr = reader.ReadSettingLong(name, out p);

            if (hr != VSConstants.S_OK)
            {
                reader.ReportError(name + " value cannot be read", (uint)__VSSETTINGSERRORTYPES.vsSettingsErrorTypeError);
            }
            return(p);
        }