Freigeben über


Verwenden der Optionsseiten

Das Visual Studio Automatisierungsmodell ermöglicht das DTE VSPackages Objekt, um zu ermöglichen, dass das Optionen im Dialogfeld Extras Menü zuzugreifen.

In der Regel können Seiten im Dialogfeld Optionen zugegriffen werden, indem das Automatisierungsmodells ob die Seiten aus der Visual Studio integrierten Entwicklungsumgebung (IDE) oder von einem VSPackage bereitgestellt werden. Es gibt jedoch einige Ausnahmen wie folgt:

  • Die Einstellungen der Dynamische Hilfe Seite können nicht programmgesteuert zugegriffen werden. Die Dynamische Hilfe-Funktion kann gesteuert werden, indem das Automatisierungsmodell verwendet, aber Steuerelement muss direkt im Code erreicht werden. Weitere Informationen finden Sie unter How to: Control the Dynamic Help Window.

  • Steuerung der Schriftarten und Farben Seiteneinstellungen wird durch das eigene API, nicht vom Automatisierungsmodell bereitgestellt. Weitere Informationen finden Sie unter Schriftarten.

  • Sprachspezifische Eigenschaften können nicht vom Automatisierungsmodell abgerufen werden.

Optionen Seiten, die nicht das Visual Studio Automatisierungsmodell unterstützen, können keine Automatisierung Properties-Auflistung zurück, wenn sie abgefragt werden. Wenn die Auflistung zurückgegeben wird, sind nicht alle Funktionen vorhanden. Weitere Informationen zur Verwendung dieser Funktionen finden Sie unter DTE-Eigenschaftsauflistungenverwaltet.

Verwalten der Optionsseiten

Um Optionen Seiten zu verwalten, muss ein VSPackage DTE-Objekt vom Automatisierungsmodell ab.

Hinweis

Wenn ein VSPackage des Automatisierungsmodells Einstellungen auf Installierte Optionen Seiten abzufragen und zu ändern, die nicht erweitert ihn IDE-Funktionalität.Daher muss das Paket ein Automatisierungsobjekt nicht implementieren.

Um ein DTE-Objekt vom Automatisierungsmodell abzurufen, rufen Sie die QueryService-Methode auf und Bereitstellen eines Diensts ID von SID_SDTE-Argument und ein Argument von IID__DTESchnittstellen wie folgt bereit.

pServiceProvider->QueryService(SID_SDTE, IID__DTE, (LPVOID*)pDTE);

So fügen Sie ein DTE-Objekt, mithilfe des verwalteten Paketframeworks (MPF) abgerufen, die GetService-Methode aufrufen und einen serviceType-Parameter vom Typ SDTEbereitstellen.

Dim vsEnvironment As DTE = DirectCast(GetService(GetType(SDTE)), DTE)
DTE vsEnvironment = (DTE)GetService(typeof(SDTE));

Eine Optionen Seite besteht aus zwei Bezeichnern angegeben. Der erste Bezeichner ist eine Zeichenfolge, die den Ordner angibt, der die Optionen Seite enthält. Der zweite Bezeichner ist eine Zeichenfolge, die das jeweilige Element in diesem Ordner angibt. Diese werden als eine Kategorie und Unterkategorie Optionen Seiten oder sein und Thema unter Abschnitt.

Beispielsweise sind die Text-Editor-Einstellungen für die Behandlung des Grundcodes im Navigationsbereich als Basisfarbe-Membern des Ordners Text-Editor. Der Bezeichner für TextEditor ist die Kategorie und die Unterkategorie ist Basic, und die Optionen Seite selbst als die TextEditor.Basic Seite.

Hinweis

Eine Lokalisierung und anderen Gründen möglicherweise die Namen unterscheiden, die auf Optionen Seiten angezeigt werden, die aus den Zeichenfolgen Kategorie und Unterkategorie, die als Bezeichner verwendet werden.Sie müssen möglicherweise Automatisieren der IDE verwenden, um Abfragen zum Abrufen der richtigen Bezeichner, wenn sie nicht anderweitig dokumentiert sind.Der Registrierungsspeicherort ist HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ <VS Version> \ AutomationProperties, wo <VS Version> die Nummer der Version von Visual Studioist.Weitere Informationen finden Sie unter Registrieren benutzerdefinierter Optionsseiten.

Sie können die Eigenschaften für die TextEditor.Basic Seite vom Automatisierungsmodell erhalten, indem Sie das folgende Beispiel.

CComPtr<_DTE> srpDTE;
CComPtr<Properties> srpDTEPropertiesList;
hr = srpDTE->get_Properties("TextEditor", "Basic", &srpDTEPropertiesList);

Um die Eigenschaften zu erhalten, indem Sie das MPF verwenden, verwenden Sie die Properties-Methode.

Dim propertiesList As Properties = vsEnvironment.get_Properties("TextEditor", "Basic")
If propertiesList Is Nothing Then 
    ' The specified properties collection is not available.  
    Exit Sub 
End If
Properties propertiesList = vsEnvironment.get_Properties("TextEditor", "Basic");
if (null == propertiesList)
{
    // The specified properties collection is not available. 
    return;
}

Die Item-Methode gibt individuelle Einstellungen aus der Properties-Auflistung als Property-Objekt zurück.

Wie bei Kategorien und Unterkategorien, verfügt jede Einstellung einen Bezeichner, der eine eindeutige Zeichenfolge ist. Beispielsweise wird Tabstoppgröße , das auf der TextEditor.Basic Seite festgelegt werden, durch die Zeichenfolge, TabSizeidentifiziert.

Hinweis

Eine Lokalisierung und anderen Gründen möglicherweise die Namen unterscheiden, die auf Optionen Seiten angezeigt werden, von den Einstellungen, die als Zeichenfolgen Bezeichner verwendet werden.Sie müssen möglicherweise Automatisieren der IDE verwenden, um Abfragen zum Abrufen der richtigen Bezeichner, wenn sie nicht anderweitig dokumentiert sind.

Sie können Value des Property-Objekts, das von der Item-Methode der Properties-Auflistung zurückgegeben wird, um den Zustand der Einstellungen abzufragen und zu ändern.

Um beispielsweise Tabstoppgröße festzulegen, das auf der Seite TextEditor.Basic vom Automatisierungsmodell festlegt, verwenden Sie die Properties-Objekt, das im folgenden Beispiel zurückgegeben wurde.

CComPtr<Property> srpProperty;
hr = srpDTEPropertiesList->Item("TabSize", &srpProperty);
hr= srpProperty.set_Value(4);

Im folgenden Beispiel wird veranschaulicht, wie Tabstoppgröße aktualisiert, indem es das MPF festlegt, verwendet.

        Dim tabSize As [Property] = propertiesList.Item("TabSize")
        Dim oldSize As Short = CShort(tabSize.Value)

        Dim message As String 
        If oldSize <> 4 Then
            tabSize.Value = 4
            message = String.Format(CultureInfo.CurrentUICulture, "For Basic, the Text Editor had a tab size of {0}" & " and now has a tab size of {1}.", oldSize, tabSize.Value)
        Else
            message = String.Format(CultureInfo.CurrentUICulture, "For Basic, the Text Editor has a tab size of {0}.", tabSize.Value)
        End If
Property tabSize = propertiesList.Item("TabSize");
short oldSize = (short)tabSize.Value;

string message;
if (oldSize != 4)
{
    tabSize.Value = 4;
    message = string.Format(CultureInfo.CurrentUICulture,
        "For Basic, the Text Editor had a tab size of {0}" +
        " and now has a tab size of {1}.", oldSize, tabSize.Value);
}
else
{
    message = string.Format(CultureInfo.CurrentUICulture,
        "For Basic, the Text Editor has a tab size of {0}.", tabSize.Value);
}

MessageBox.Show(message, "Text Editor, Basic, Tab Size:",
    MessageBoxButtons.OK, MessageBoxIcon.Information,
    MessageBoxDefaultButton.Button1, 0);

Weitere Informationen finden Sie unter Steuern der Einstellungen im Dialogfeld "Optionen" (Menü "Extras").

Optionsseiten-Einstellungen beibehalten

Die IDE implementiert Optionen Zustände von Dauerhaftigkeit Seiten, die ausschließlich das Visual Studio Automatisierungsmodell unterstützen.

Einstellungen auf Seiten, die in der IDE enthalten sind, werden automatisch gespeichert oder abgerufen () Einstellungen importieren und exportieren wenn ein Benutzer auf den Befehl im Menü Extras klickt.

Sie können die benutzerdefinierte Optionen Seite aktivieren, um diese automatische Unterstützung für Persistenz verwenden, indem Sie das ProfileSave-Flag an den benutzerdefinierten Optionen Seiten registrierungseintrag unter HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ <VS Version> \ AutomationProperties hinzufügen, wo <VS Version> die Nummer der Version von Visual Studioist. Weitere Informationen finden Sie unter Registrieren benutzerdefinierter Optionsseiten.

Siehe auch

Aufgaben

Gewusst wie: Öffnen Sie eine Seite programmgesteuert

Referenz

DTE

Konzepte

Optionsseiten erstellen Sie mithilfe von Interop-Assemblys

Steuern der Einstellungen im Dialogfeld "Optionen" (Menü "Extras")

Registrieren benutzerdefinierter Optionsseiten

Weitere Ressourcen

Erstellen und Steuern von Umgebungsfenstern