Файл параметров пользователя решения (SUO-файл)

Файл параметров пользователя решения (SUO) содержит параметры решения для каждого пользователя. Этот файл не должен быть проверка в систему управления исходным кодом.

Файл параметров пользователя решения (SUO) — это структурированное хранилище или составное файл, хранящийся в двоичном формате. Данные пользователя сохраняются в потоках с именем потока, который будет использоваться для идентификации сведений в suo-файле. Файл параметров пользователя решения используется для хранения параметров предпочтения пользователя и создается автоматически при сохранении решения Visual Studio.

Когда среда открывает suo-файл, он перечисляет все загруженные в данный момент VSPackages. Если VSPackage реализует IVsPersistSolutionOpts интерфейс, среда вызывает LoadUserOptions метод в VSPackage с просьбой загрузить все данные из suo-файла.

Ответственность VSPackage заключается в том, чтобы узнать, какие потоки он мог бы записать в suo-файл. Для каждого записанного потока VSPackage возвращается в среду LoadPackageUserOpts , чтобы загрузить определенный поток, который определяется ключом, который является именем потока. Затем среда возвращается в VSPackage, чтобы прочитать этот конкретный поток, передав имя потока и IStream указатель на LoadPackageUserOpts метод.

На этом этапе выполняется еще один вызов, чтобы узнать LoadUserOptions , есть ли другой раздел suo-файла, который должен быть прочитан. Этот процесс продолжается до тех пор, пока все потоки данных в suo-файле не будут прочитаны и обработаны средой.

При сохранении или закрытии решения среда вызывает SavePackageSolutionProps метод с указателем на SaveUserOptions метод. Хранимая IStream двоичная информация передается WriteUserOptions методу, который затем записывает сведения в suo-файл и вызывает SaveUserOptions метод еще раз, чтобы узнать, есть ли другой поток информации для записи в suo-файл.

Эти два метода SaveUserOptions и WriteUserOptionsвызываются рекурсивно для каждого потока информации, который будет сохранен в suo-файле, передав указатель IVsSolutionPersistenceна . Они вызываются рекурсивно, чтобы разрешить запись нескольких потоков в suo-файл. Таким образом, сведения о пользователе сохраняются вместе с решением и гарантированно будут там при следующем открытии решения.

См. также