Example #1
0
        public DockableCLArgsControl()
        {
            InitializeComponent();

            savedArgs = new NamedArgsDictionary();

            debugEvents = IDEUtils.DTE.Events.DebuggerEvents;
            debugEvents.OnEnterRunMode += DebuggerEvents_OnEnterRunMode;

            solutionEvents               = IDEUtils.DTE.Events.SolutionEvents;
            solutionEvents.Opened       += SolutionEvents_OnOpened;
            solutionEvents.AfterClosing += SolutionEvents_OnAfterClosing;

            Properties.Settings.Default.PropertyChanged += OnSettingChanged;

            foreach (var commandBinding in CmdArgs.TextArea.CommandBindings.Cast <CommandBinding>())
            {
                if (commandBinding.Command == ApplicationCommands.Paste)
                {
                    commandBinding.PreviewCanExecute += new CanExecuteRoutedEventHandler(pasteCommandBinding_PreviewCanExecute);
                    break;
                }
            }

            SetTextBoxProperties();

            runChangedHandler = false;
            CmdArgs.Text      = IDEUtils.GetCommandArgs();
            runChangedHandler = true;

            CmdArgs.IsEnabled = false;

            try
            {
                Init();
            }
            catch (Exception)
            {
                throw;// Don't care if it fails here
            }
        }
        public void Load()
        {
            if (string.IsNullOrEmpty(Path) || !File.Exists(Path))
            {
                return;
            }

            using (TextReader reader = new StreamReader(Path))
            {
                string data = reader.ReadToEnd();
                using (StringReader stringReader = new StringReader(data))
                {
                    NamedArgsDictionary dict = (NamedArgsDictionary)XamlServices.Load(stringReader);

                    this.Clear();
                    foreach (KeyValuePair <string, string> kvp in dict)
                    {
                        this.Add(kvp.Key, kvp.Value);
                    }
                }
            }
        }