Share via


Datei mit Benutzeroptionen in Projektmappen (SUO)

Die Lösungsbenutzeroptionendatei (SUO) enthält Optionen pro Benutzer. Diese Datei sollte nicht in die Quellcodeverwaltung eingecheckt werden.

Die Lösungsbenutzeroptionendatei (SUO) ist ein strukturierter Speicher oder eine zusammengesetzte Datei, die in einem Binärformat gespeichert ist. Sie speichern Benutzerinformationen in Datenströmen mit dem Namen des Datenstroms, der zum Identifizieren der Informationen in der SUO-Datei verwendet wird. Die Benutzeroptionendatei der Lösung wird zum Speichern von Benutzereinstellungseinstellungen verwendet und automatisch erstellt, wenn Visual Studio eine Lösung speichert.

Wenn die Umgebung eine SUO-Datei öffnet, listet sie alle derzeit geladenen VSPackages auf. Wenn eine VSPackage die IVsPersistSolutionOpts Schnittstelle implementiert, ruft die Umgebung die LoadUserOptions Methode für das VSPackage auf, in der sie aufgefordert wird, alle Daten aus der SUO-Datei zu laden.

Es liegt in der Verantwortung von VSPackage, zu wissen, welche Streams sie möglicherweise in die SUO-Datei geschrieben haben. Für jeden von ihr geschriebenen Datenstrom ruft vsPackage die Umgebung LoadPackageUserOpts zurück, um einen bestimmten Datenstrom zu laden, der durch den Schlüssel identifiziert wird, der den Namen des Datenstroms darstellt. Die Umgebung ruft dann zurück an das VSPackage zurück, um diesen bestimmten Datenstrom zu lesen, der den Namen des Datenstroms und einen IStream Zeiger auf die LoadPackageUserOpts Methode übergibt.

An diesem Punkt wird ein weiterer Aufruf ausgeführt, um festzustellen LoadUserOptions , ob ein anderer Abschnitt der SUO-Datei vorhanden ist, der gelesen werden muss. Dieser Vorgang wird fortgesetzt, bis alle Datenströme in der SUO-Datei von der Umgebung gelesen und verarbeitet wurden.

Wenn die Lösung gespeichert oder geschlossen wird, ruft die Umgebung die SavePackageSolutionProps Methode mit einem Zeiger auf die SaveUserOptions Methode auf. Eine IStream mit den zu speichernden Binärinformationen wird an die WriteUserOptions Methode übergeben, die dann die Informationen in die SUO-Datei schreibt und die SaveUserOptions Methode erneut aufruft, um festzustellen, ob ein weiterer Informationsstrom zum Schreiben in die SUO-Datei vorhanden ist.

Diese beiden Methoden SaveUserOptions und WriteUserOptionswerden rekursiv für jeden Informationsstrom aufgerufen, der in der SUO-Datei gespeichert werden soll, und übergibt den Zeiger an IVsSolutionPersistence. Sie werden rekursiv aufgerufen, um das Schreiben mehrerer Datenströme in die SUO-Datei zu ermöglichen. Auf diese Weise werden Benutzerinformationen mit der Lösung beibehalten und sind garantiert vorhanden, wenn die Lösung das nächste Mal geöffnet wird.

Siehe auch