Document.Redo Method

Re-executes the last action that was undone by the Undo method or the user.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)


Function Redo As Boolean
Dim instance As Document 
Dim returnValue As Boolean 

returnValue = instance.Redo()
bool Redo()
bool Redo()
function Redo() : boolean

Return Value

Type: System.Boolean
A Boolean value indicating true if there is an undo action to redo, false if not.


public void CodeExample(DTE2 dte, AddIn addin)
    {   // Before running, create two text files named "TextFile1.txt"
        // and "TextFile2.txt", include them in your solution,
        // and then open them. Notice changes when code executes.
        Document doc, doc2;
        string msg = "";
        string msg2 = "";
        if (dte.Documents.Count > 0)
            doc = dte.Documents.Item("TextFile1.txt");
            // Find specified text.
            if (doc.MarkText("text to find", 0))
                msg += "(1) The text was found!\n"; //MessageBox.Show("The text was found");
                // Delete bookmark created by MarkText.
            if (doc.ReplaceText("text to find", "was replaced by this", 0))
                msg += "(2) It [was replaced by this].\n";
            if (doc.Undo())
                msg += "(3) The ReplaceText method has been undone.\n";
            if (doc.Redo())
                msg += "(4) The ReplaceText method had been redone.\n";
            // This will bring the other document to the foreground.
            doc2 = doc.Collection.Item("TextFile2.txt");
            // Have these documents been saved?
            foreach (Document dc in dte.Documents)
                if (dc.Saved) msg += dc.Name + " has been saved.\n";
            MessageBox.Show(msg, "Example Output");
            // Access the application object.
            msg2 += doc2.DTE.Name + " is the application object.\n";
            // Show the Guid for the document.
            msg2 += doc2.Kind + " is the Guid for this document.\n";
            // Show the language used to author the code.
            msg2 += doc2.Language + " is the language used in this document.\n";
            // Show the document's name.
            msg2 += doc2.Name + " is the name of this document.\n";
            // Get the projectitem associated with this document.
            msg2 += doc2.ProjectItem.Name + " is the ProjectItem associated with this document.\n";
            // Show the document type.
            msg2 += doc2.Type + " is the type of document.\n";
            foreach (Window win in doc2.Windows)
                msg2 += win.Caption + " is a window.\n";
            MessageBox.Show(msg2, "Example Output");
        else MessageBox.Show("Sample not setup properly.");
    catch(Exception ex)

.NET Framework Security

See Also


Document Interface

Document Members

EnvDTE Namespace