Soubor s možnostmi uživatele řešení (.suo)
Soubor možností uživatele řešení (.suo) obsahuje možnosti řešení pro jednotlivé uživatele. Tento soubor by neměl být vrácen se změnami pro správu zdrojového kódu.
Soubor možností uživatele řešení (.suo) je strukturované úložiště nebo složený soubor uložený v binárním formátu. Informace o uživateli uložíte do datových proudů s názvem datového proudu, který se použije k identifikaci informací v souboru .suo. Soubor možností uživatele řešení se používá k ukládání nastavení předvoleb uživatele a vytvoří se automaticky při uložení řešení v sadě Visual Studio.
Když prostředí otevře soubor .suo, vytvoří výčet všech aktuálně načtených balíčků VSPackages. Pokud VSPackage implementuje IVsPersistSolutionOpts rozhraní, pak prostředí volá LoadUserOptions metodu na VSPackage s žádostí, aby načetla všechna data ze souboru .suo.
Je to odpovědnost VSPackage vědět, co streamy to mohl zapsat do souboru .suo. Pro každý datový proud, který napsal, VSPackage volá zpět do prostředí LoadPackageUserOpts za účelem načtení konkrétního datového proudu, který je identifikován klíčem, což je název datového proudu. Prostředí pak volá zpět do balíčku VSPackage, aby přečetlo konkrétní datový proud, který předává název datového proudu a IStream
ukazatel na metodu LoadPackageUserOpts .
V tomto okamžiku se provede další volání, které LoadUserOptions
zjistí, jestli existuje další část souboru .suo, který musí být přečtený. Tento proces pokračuje, dokud prostředí nečte a nezpracovalo všechny datové proudy v souboru .suo.
Když je řešení uloženo nebo uzavřeno, prostředí volá metodu SavePackageSolutionProps s ukazatelem na metodu SaveUserOptions . Do IStream
metody se předá WriteUserOptions binární informace obsahující binární informace, které se pak zapisují do souboru .suo a znovu zavolá SaveUserOptions
metodu, aby se zjistilo, zda existuje další datový proud informací pro zápis do souboru .suo.
Tyto dvě metody a SaveUserOptions
WriteUserOptions
, jsou volány rekurzivně pro každý datový proud informací, které mají být uloženy do souboru .suo, předávání ukazatele na IVsSolutionPersistence
. Označují se rekurzivně, aby umožňovaly zápis více datových proudů do souboru .suo. Tímto způsobem se uživatelské informace zachovají s řešením a při příštím otevření řešení se zaručuje, že tam budou.