Método IVsUserSettings.ExportSettings (String, IVsSettingsWriter)
Publicado: abril de 2016
Salva a configuração do VSPackage usando o Visual Studio mecanismo de configurações quando a opção de exportação do configurações de importação/exportação recurso disponível no IDE do ferramentas menu é selecionado por um usuário.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop.8.0 (em Microsoft.VisualStudio.Shell.Interop.8.0.dll)
Sintaxe
int ExportSettings(
string pszCategoryGUID,
IVsSettingsWriter pSettings
)
int ExportSettings(
String^ pszCategoryGUID,
IVsSettingsWriter^ pSettings
)
abstract ExportSettings :
pszCategoryGUID:string *
pSettings:IVsSettingsWriter -> int
Function ExportSettings (
pszCategoryGUID As String,
pSettings As IVsSettingsWriter
) As Integer
Parâmetros
pszCategoryGUID
Type: System.String[in] GUID que identifica o grupo de configurações a serem exportados. Esse é o GUID de identificação para o ponto de configurações personalizadas. Para obter mais informações sobre pontos de configurações personalizadas, consulte suporte a persistência configurações de registro
pSettings
Type: Microsoft.VisualStudio.Shell.Interop.IVsSettingsWriter[in] Um IVsSettingsWriter interface fornecida pelo ambiente de VSPackage fornecendo acesso de gravação para o Visual Studio arquivo de configurações.
Valor Retornado
Type: System.Int32
Se o método for bem-sucedido, ele retornará S_OK. Se ele falhar, ele retorna um código de erro.
Comentários
Um único VSPackage pode dar suporte a mais de um ponto de configurações personalizado (configurações de categoria).
Portanto, as implementações de ExportSettings deve verificar a categoria GUID passado e escolha o mecanismo correto para salvar o estado especificado pelo ponto de configurações personalizado específico.
No exemplo a seguir, ExportSettings chama uma implementação diferente para persistir estado da barra de comando em vez de persistir o estado de associação de chave.
Além de dados salvos pela implementação do ExportSettings, a API de configurações também salva automaticamente a versão do Visual Studio usado para exportar informações de configuração.
Exemplos
Neste exemplo, a implementação de ExportSettings escolhe entre dois métodos diferentes de exportação dependendo do pszCategoryGUID argumento.
STDMETHOD(ExportSettings)(WCHAR *pszCategoryGUID, IVsSettingsWriter *pSettings)
{
CLSID clsidCategory;
HRESULT hr;
hr = CLSIDFromString(pszCategoryGUID, &clsidCategory);
IfFailGo(hr);
//Delegate to the right internal implementation based on the requested category
if (GUID_Profiles_CommandBars == clsidCategory) {
hr = ExportSettings_CommandBars(pSettings);
}else if (GUID_Profiles_KeyBindings == clsidCategory) {
hr = ExportSettings_KeyBindings(pSettings);
}else{
hr = E_UNEXPECTED;
}
Error:
return hr;
};
HRESULT ExportSettings_CommandBars(IVsSettingsWriter *pSettings)
{
if (!pSettings)
return E_INVALIDARG;
hr = pSettings->WriteSettingString(c_szFirstSettingName, L"Value1");
IfFailGo(hr);
int cRandomTrash = 12345;
BYTE *pRandomTrash = (BYTE *)VSAlloc(cRandomTrash);
if (pRandomTrash){
hr = pSettings->WriteSettingBytes(c_szRandomTrashBytes, pRandomTrash, cRandomTrash);
IfFailGo(hr);
hr = pSettings->WriteSettingLong(c_szRandomTrashLength, cRandomTrash);
IfFailGo(hr);
}
Error:
return hr;
};
HRESULT ExportSettings_KeyBindings(IVsSettingsWriter *pSettings)
{
if (!pSettings)
return E_INVALIDARG;
hr = pSettings->WriteSettingString(c_szBreakPointWindow, L"Ctrl + Alt + B");
IfFailGo(hr);
Error:
return hr;
};
Confira Também
ImportSettings
IVsUserSettingsQuery
Interface IVsUserSettings
Namespace Microsoft.VisualStudio.Shell.Interop
Suporte para configurações de usuário
Como: exportar configurações usando Assemblies de interoperabilidade
Como: usar Assemblies de interoperabilidade para importar configurações
Working with Settings
Retornar ao início