/// <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; } }
/// <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(); } } }
/// <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(); } } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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); } }
/// <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"; } }
/// <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); } }
public static void ClassInitialize(TestContext testContext) { _codeCleanupAvailabilityLogic = CodeCleanupAvailabilityLogic.GetInstance(TestEnvironment.Package); Assert.IsNotNull(_codeCleanupAvailabilityLogic); }
/// <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); }
/// <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); }