Document.Kind Property

Gets a GUID string indicating the kind or type of the object.

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

Syntax

'Declaration
ReadOnly Property Kind As String
string Kind { get; }
property String^ Kind {
    String^ get ();
}
abstract Kind : string
function get Kind () : String

Property Value

Type: System.String
A GUID string indicating the kind or type of object.

Remarks

Environment extensions must provide uniquely defined type strings. This information should be available in each tool or language's type library or documentation.

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 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

EnvDTE Namespace

Other Resources

How to: Compile and Run the Automation Object Model Code Examples