Document.ProjectItem Property
Gets the ProjectItem object associated with the Document object.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
ReadOnly Property ProjectItem As ProjectItem
ProjectItem ProjectItem { get; }
property ProjectItem^ ProjectItem {
ProjectItem^ get ();
}
abstract ProjectItem : ProjectItem with get
function get ProjectItem () : ProjectItem
Property Value
Type: EnvDTE.ProjectItem
A ProjectItem object.
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 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.
See Also
Reference
Other Resources
How to: Compile and Run the Automation Object Model Code Examples