コード例 #1
0
        /// <summary>
        /// Called before a document is saved in order to potentially run code cleanup.
        /// </summary>
        /// <param name="document">The document about to be saved.</param>
        internal void OnBeforeDocumentSave(Document document)
        {
            if (!Settings.Default.Cleaning_AutoCleanupOnFileSave)
            {
                return;
            }
            if (!CodeCleanupAvailabilityLogic.CanCleanupDocument(document))
            {
                return;
            }

            try
            {
                Package.IsAutoSaveContext = true;

                using (new ActiveDocumentRestorer(Package))
                {
                    CodeCleanupManager.Cleanup(document);
                }
            }
            finally
            {
                Package.IsAutoSaveContext = false;
            }
        }
コード例 #2
0
ファイル: CleanupAllCodeCommand.cs プロジェクト: waodng/VSIX
        /// <summary>
        /// Called to execute the command.
        /// </summary>
        protected override void OnExecute()
        {
            base.OnExecute();

            if (!CodeCleanupAvailabilityLogic.IsCleanupEnvironmentAvailable())
            {
                MessageBox.Show(Resources.CleanupCannotRunWhileDebugging,
                                Resources.CodeMaidCleanupAllCode,
                                MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (MessageBox.Show(Resources.AreYouReadyForCodeMaidToCleanEverythingInTheSolution,
                                     Resources.CodeMaidConfirmationForCleanupAllCode,
                                     MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No)
                     == MessageBoxResult.Yes)
            {
                using (new ActiveDocumentRestorer(Package))
                {
                    var viewModel = new CleanupProgressViewModel(Package, AllProjectItems);
                    var window    = new CleanupProgressWindow {
                        DataContext = viewModel
                    };

                    window.ShowModal();
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Called to execute the command.
        /// </summary>
        protected override void OnExecute()
        {
            base.OnExecute();

            if (!CodeCleanupAvailabilityLogic.IsCleanupEnvironmentAvailable())
            {
                MessageBox.Show(@"Cleanup cannot run while debugging.",
                                @"CodeMaid: Cleanup All Code",
                                MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (MessageBox.Show(@"Are you ready for CodeMaid to clean everything in the solution?",
                                     @"CodeMaid: Confirmation For Cleanup All Code",
                                     MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No)
                     == MessageBoxResult.Yes)
            {
                using (new ActiveDocumentRestorer(Package))
                {
                    var viewModel = new CleanupProgressViewModel(Package, AllProjectItems);
                    var window    = new CleanupProgressWindow {
                        DataContext = viewModel
                    };

                    window.ShowModal();
                }
            }
        }
コード例 #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CleanupActiveCodeCommand"/> class.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 internal CleanupActiveCodeCommand(EditorConfigPackage package)
     : base(package,
            new CommandID(Guids.GuidEditorConfigCommandCleanupActiveCode, (int)PkgCmdIDList.CmdIDEditorConfigCleanupActiveCode))
 {
     CodeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(Package);
     CodeCleanupManager           = CodeCleanupManager.GetInstance(Package);
 }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CleanupActiveCodeCommand" /> class.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 internal CleanupActiveCodeCommand(CodeMaidPackage package)
     : base(package,
            new CommandID(PackageGuids.GuidCodeMaidCommandCleanupActiveCode, PackageIds.CmdIDCodeMaidCleanupActiveCode))
 {
     CodeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(Package);
     CodeCleanupManager           = CodeCleanupManager.GetInstance(Package);
 }
コード例 #6
0
        /// <summary>
        /// Default constructor of the package. Inside this method you can place any initialization
        /// code that does not require any Visual Studio service because at this point the package
        /// object is created but not sited yet inside Visual Studio environment. The place to do
        /// all the other initialization is the Initialize method.
        /// </summary>
        public CodeMaidPackage()
        {
            Trace.WriteLine(string.Format(CultureInfo.CurrentCulture, "Entering constructor for: {0}", this));

            CodeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(this);
            CodeCleanupManager           = CodeCleanupManager.GetInstance(this);
        }
コード例 #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CleanupOpenCodeCommand" /> class.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 internal CleanupOpenCodeCommand(CodeMaidPackage package)
     : base(package,
            new CommandID(GuidList.GuidCodeMaidCommandCleanupOpenCode, (int)PkgCmdIDList.CmdIDCodeMaidCleanupOpenCode))
 {
     CodeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(Package);
     CodeCleanupManager           = CodeCleanupManager.GetInstance(Package);
 }
コード例 #8
0
        /// <summary>
        /// Called before a document is saved in order to potentially run code cleanup.
        /// </summary>
        /// <param name="document">The document about to be saved.</param>
        internal void OnBeforeDocumentSave(Document document)
        {
            if (!CodeCleanupAvailabilityLogic.ShouldCleanup(document))
            {
                return;
            }

            using (new ActiveDocumentRestorer(this))
            {
                CodeCleanupManager.Cleanup(document);
            }
        }
コード例 #9
0
        /// <summary>
        /// Called to update the current status of the command.
        /// </summary>
        protected override void OnBeforeQueryStatus()
        {
            Enabled = CodeCleanupAvailabilityLogic.ShouldCleanup(ActiveDocument);

            if (Enabled)
            {
                Text = "&Cleanup " + ActiveDocument.Name;
            }
            else
            {
                Text = "&Cleanup Code";
            }
        }
コード例 #10
0
        /// <summary>
        /// Called before a document is saved in order to potentially run code cleanup.
        /// </summary>
        /// <param name="document">The document about to be saved.</param>
        internal void OnBeforeDocumentSave(Document document)
        {
            if (!Settings.Default.Cleaning_AutoCleanupOnFileSave)
            {
                return;
            }
            if (!CodeCleanupAvailabilityLogic.CanCleanup(document))
            {
                return;
            }

            using (new ActiveDocumentRestorer(Package))
            {
                CodeCleanupManager.Cleanup(document, true);
            }
        }
コード例 #11
0
 public static void ClassInitialize(TestContext testContext)
 {
     _codeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(TestEnvironment.Package);
     Assert.IsNotNull(_codeCleanupAvailabilityLogic);
 }
コード例 #12
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CleanupOpenCodeCommand" /> class.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 internal CleanupOpenCodeCommand(CodeMaidPackage package)
     : base(package,
            new CommandID(PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidCleanupOpenCode))
 {
     CodeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(Package);
 }
コード例 #13
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CleanupSelectedCodeCommand" /> class.
 /// </summary>
 /// <param name="package">The hosting package.</param>
 internal CleanupSelectedCodeCommand(CodeMaidPackage package)
     : base(package, PackageGuids.GuidCodeMaidMenuSet, PackageIds.CmdIDCodeMaidCleanupSelectedCode)
 {
     //具体执行的业务逻辑
     CodeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(Package);
 }