Example #1
0
 private void export_Click(object sender, EventArgs e)
 {
     if (exportFileDialog.ShowDialog() == DialogResult.OK)
     {
         Options exportedOptions = new Options();
         SaveOptions(exportedOptions);
         OptionsProviderRegistry.Export(exportedOptions, exportFileDialog.FileName);
     }
 }
Example #2
0
        private void RemoveSolutionOptionsFileCmdCallback(object sender, EventArgs e)
        {
            var projItem = _dte2.Solution.FindProjectItem(_solutionConfigurationPath);

            projItem?.Remove();

            OptionsProviderRegistry.PopOptionsProvider();
            _usingSolutionOptions       = false;
            _solutionConfigurationPath  = null;
            _hasDirtySolutionProperties = true;
        }
Example #3
0
        private void AddSolutionOptionsFileCmdCallback(object sender, EventArgs e)
        {
            _solutionConfigurationPath = GetDefaultSolutionConfigurationPath();
            EnsureSolutionOptionsFileCreated();
            AddSolutionOptionsFileToSolutionItems();
            var newProvider = ConstructSolutionConfigurationProvider();

            OptionsProviderRegistry.PushOptionsProvider(newProvider);

            _hasDirtySolutionProperties = true;
            _usingSolutionOptions       = true;
        }
Example #4
0
 private void solutionEvents_Opened()
 {
     if (_usingSolutionOptions)
     {
         if (File.Exists(_solutionConfigurationPath))
         {
             var newProvider = new FileOptionsProvider("Solution", _solutionConfigurationPath);
             OptionsProviderRegistry.PushOptionsProvider(newProvider);
             _usingSolutionOptions = true;
         }
         else
         {
             _usingSolutionOptions = false;
         }
     }
 }
Example #5
0
 private void import_Click(object sender, EventArgs e)
 {
     if (importFileDialog.ShowDialog() == DialogResult.OK)
     {
         try
         {
             Options options = OptionsProviderRegistry.Import(importFileDialog.FileName);
             LoadOptions(options);
         }
         catch (Exception x)
         {
             MessageBox.Show(
                 x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
 }
Example #6
0
        private void ok_Click(object sender, EventArgs e)
        {
            SaveOptions(_options);

            try
            {
                OptionsProviderRegistry.SaveChanges(_options);
            }
            catch (Exception ex)
            {
                String msg = "Unable to save configuration changes: " + Environment.NewLine
                             + ex.Message;
                MessageBox.Show(msg, "Error Saving Configuration");
            }

            Hide();
        }
Example #7
0
        /// <summary>
        /// Initialization of the package; this method is called right after the package is sited, so this is the place
        /// where you can put all the initialization code that rely on services provided by VisualStudio.
        /// </summary>
        protected override void Initialize()
        {
            OptionsProviderRegistry.PushOptionsProvider(new FileOptionsProvider("Global", GlobalOptionsPath));
            OptionsProviderRegistry.ReloadCurrent();

            _dte2            = GetService(typeof(DTE)) as DTE2;
            _solutionEvents  = _dte2.Events.SolutionEvents;
            _buildEvents     = _dte2.Events.BuildEvents;
            _docEvents       = _dte2.Events.DocumentEvents;
            _errorListHelper = new ErrorListHelper(this);

            // Add our command handlers for menu (commands must exist in the .vsct file)

            var mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;

            if (null != mcs)
            {
                // Source Editor: JS Lint
                var sourceEditorLintCmdId    = new CommandID(GuidList.guidSourceEditorCmdSet, (int)PkgCmdIDList.lint);
                var sourceEditorLintMenuItem = new MenuCommand(LintSourceEditorCmdCallback, sourceEditorLintCmdId);
                mcs.AddCommand(sourceEditorLintMenuItem);

                // Source Editor: JS Lint Fragment
                var sourceEditorFragmentLintCmdId    = new CommandID(GuidList.guidSourceEditorFragmentCmdSet, (int)PkgCmdIDList.lint);
                var sourceEditorFragmentLintMenuItem = new OleMenuCommand(LintSourceEditorFragmentItemCmdCallback, sourceEditorFragmentLintCmdId);
                sourceEditorFragmentLintMenuItem.BeforeQueryStatus += SourceEditorFragmentLintMenuItem_BeforeQueryStatus;
                mcs.AddCommand(sourceEditorFragmentLintMenuItem);

                // Solution Explorer: JS Lint
                var solutionItemCmdId    = new CommandID(GuidList.guidSolutionItemCmdSet, (int)PkgCmdIDList.lint);
                var solutionItemMenuItem = new OleMenuCommand(LintSolutionItemCmdCallback, solutionItemCmdId);
                solutionItemMenuItem.BeforeQueryStatus += SolutionItemMenuItem_BeforeQueryStatus;
                mcs.AddCommand(solutionItemMenuItem);

                // Solution Explorer: Skip File
                var solutionItemSkipCmdId    = new CommandID(GuidList.guidSolutionItemCmdSet, (int)PkgCmdIDList.exclude);
                var solutionItemSkipMenuItem = new OleMenuCommand(LintSolutionItemSkipCmdCallback, solutionItemSkipCmdId);
                solutionItemSkipMenuItem.BeforeQueryStatus += SolutionItemSkipMenuItem_BeforeQueryStatus;
                mcs.AddCommand(solutionItemSkipMenuItem);

                // Solution Explorer: Skip Folder
                var solutionFolderNodeSkipCmdId    = new CommandID(GuidList.guidSolutionFolderNodeCmdSet, (int)PkgCmdIDList.excludeFolder);
                var solutionFolderNodeSkipMenuItem = new OleMenuCommand(LintSolutionFolderNodeSkipCmdCallback, solutionFolderNodeSkipCmdId);
                solutionFolderNodeSkipMenuItem.BeforeQueryStatus += SolutionFolderNodeSkipMenuItem_BeforeQueryStatus;
                mcs.AddCommand(solutionFolderNodeSkipMenuItem);

                // Solution Explorer: Predefined global variables
                var solutionItemGlobalsCmdId    = new CommandID(GuidList.guidSolutionItemCmdSet, (int)PkgCmdIDList.globals);
                var solutionItemGlobalsMenuItem = new OleMenuCommand(LintSolutionItemGlobalsCmdCallback, solutionItemGlobalsCmdId);
                solutionItemGlobalsMenuItem.BeforeQueryStatus += SolutionItemGlobalsMenuItem_BeforeQueryStatus;
                mcs.AddCommand(solutionItemGlobalsMenuItem);

                // Source Editor: Predefined global variables
                var sourceEditorGlobalsCmdId    = new CommandID(GuidList.guidSourceEditorCmdSet, (int)PkgCmdIDList.globals);
                var sourceEditorGlobalsMenuItem = new MenuCommand(LintSourceEditorGlobalsCmdCallback, sourceEditorGlobalsCmdId);
                mcs.AddCommand(sourceEditorGlobalsMenuItem);

                // Error List: Clear JS Lint Errors
                var errorListCmdId    = new CommandID(GuidList.guidErrorListCmdSet, (int)PkgCmdIDList.wipeerrors);
                var errorListMenuItem = new OleMenuCommand(ErrorListCmdCallback, errorListCmdId);
                errorListMenuItem.BeforeQueryStatus += ErrorListMenuItem_BeforeQueryStatus;
                mcs.AddCommand(errorListMenuItem);

                // Solution Node: Add Config
                var addConfigCmdId    = new CommandID(GuidList.guidSolutionNodeCmdSet, (int)PkgCmdIDList.addconfig);
                var addConfigMenuItem = new OleMenuCommand(AddSolutionOptionsFileCmdCallback, addConfigCmdId);
                addConfigMenuItem.BeforeQueryStatus += addConfigMenuItem_BeforeQueryStatus;
                mcs.AddCommand(addConfigMenuItem);

                // Solution Node: Edit Config
                var editConfigCmdId    = new CommandID(GuidList.guidSolutionNodeCmdSet, (int)PkgCmdIDList.editconfig);
                var editConfigMenuItem = new OleMenuCommand(EditSolutionOptionsFileCmdCallback, editConfigCmdId);
                editConfigMenuItem.BeforeQueryStatus += editOrRemoveConfigMenuItem_BeforeQueryStatus;
                mcs.AddCommand(editConfigMenuItem);

                // Solution Node: Remove Config
                var removeConfigCmdId    = new CommandID(GuidList.guidSolutionNodeCmdSet, (int)PkgCmdIDList.removeconfig);
                var removeConfigMenuItem = new OleMenuCommand(RemoveSolutionOptionsFileCmdCallback, removeConfigCmdId);
                removeConfigMenuItem.BeforeQueryStatus += editOrRemoveConfigMenuItem_BeforeQueryStatus;
                mcs.AddCommand(removeConfigMenuItem);

                // Main Menu: JSLint Options
                var optionsCmdId    = new CommandID(GuidList.guidOptionsCmdSet, (int)PkgCmdIDList.options);
                var optionsMenuItem = new MenuCommand(OptionsCmdCallback, optionsCmdId);
                mcs.AddCommand(optionsMenuItem);
            }

            //solution events
            _solutionEvents.Opened       += solutionEvents_Opened;
            _solutionEvents.AfterClosing += SolutionEvents_AfterClosing;

            // build events
            _buildEvents.OnBuildBegin           += buildEvents_OnBuildBegin;
            _buildEvents.OnBuildProjConfigBegin += buildEvents_OnBuildProjConfigBegin;

            //document events
            _docEvents.DocumentSaved += DocumentEvents_DocumentSaved;
            base.Initialize();
        }