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
bool Undo()
bool Undo()
abstract Undo : unit -> bool
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
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.