IVsUserSettingsQuery Интерфейс

Определение

Разрешает VSPackage указывать, нужно ли сохранять параметры этого объекта.

public interface class IVsUserSettingsQuery
public interface class IVsUserSettingsQuery
__interface IVsUserSettingsQuery
[System.Runtime.InteropServices.Guid("334E1F15-7D97-4231-81B0-998E4A960E69")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsUserSettingsQuery
[<System.Runtime.InteropServices.Guid("334E1F15-7D97-4231-81B0-998E4A960E69")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsUserSettingsQuery = interface
Public Interface IVsUserSettingsQuery
Производный
Атрибуты

Примеры

STDMETHOD(NeedExport)(WCHAR* pszCategoryGUID, BOOL *pfNeedExport)  
{  
    if (!pfNeedExport)  
        return E_INVALIDARG;  

    CLSID clsidCategory;  
    HRESULT hr= S_OK;  

    hr = CLSIDFromString(pszCategoryGUID, &clsidCategory);  
    IfFailGo(hr);  
    if (GUID_Profiles_CommandBars == clsidCategory) {  
        *pfNeedExport = TRUE; //Always export Command Bar Configuration  
    }else if (GUID_Profiles_KeyBindings == clsidCategory) {  
        *pfNeedExport = FALSE; //By Default don't export key bindings  
        if (m_fMake_Permanent)  
            *pfNeedExport = TRUE; //Export if user wants current configuration saved.  
    }else{  
        hr = E_UNEXPECTED;  
    }  
 Error:  
    return hr;  
}  

Комментарии

Примечания для разработчиков

Реализуйте, если пакету VSPackage необходимо управлять параметрами, сохраняемыми в Visual Studio файле параметров.

Примечания для вызывающих объектов

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

Например, пакет VSPackage может разрешить пользователям изменять параметры для текущего сеанса, но обновлять только сохраненные данные при нажатии кнопки сохранить .

Если пакет VSPackage не реализует этот интерфейс, его состояние всегда экспортируется.

Один пакет VSPackage может поддерживать более одной точки настраиваемых параметров (категория "Параметры"). Поэтому реализации NeedExport должны проверить указанный идентификатор GUID или аргумент категории параметров точки настраиваемых параметров, чтобы определить, нужно ли сохранить определенную группу параметров.

Например, в приведенном ниже примере пакет VSPackage всегда запрашивает сохранение состояния панели команд, но только запрашивает сохранение состояния привязки ключа, если установлен флаг.

Методы

NeedExport(String, Int32)

Указывает, требует ли заданная категория экспорта настроек.

Применяется к