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
Konzepte
Optionsseiten erstellen Sie mithilfe von Interop-Assemblys
Steuern der Einstellungen im Dialogfeld "Optionen" (Menü "Extras")
Registrieren benutzerdefinierter Optionsseiten