Share via


Document.Undo Method

Reverses the action last performed by the user in the document.

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

Syntax

'Declaration
Function Undo As Boolean
'Usage
Dim instance As Document 
Dim returnValue As Boolean 

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

Return Value

Type: System.Boolean
A Boolean value indicating true if the last action can be reversed, false if not.

Examples

public void CodeExample(DTE2 dte, AddIn addin)
{   
    try
    {   // 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 the bookmark created by MarkText.
                doc.ClearBookmarks();
            }
            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");
            doc2.Activate();
            // 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)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework Security

See Also

Reference

Document Interface

Document Members

EnvDTE Namespace

Redo