Aracılığıyla paylaş


IVsUserSettings.ExportSettings Yöntemi (String, IVsSettingsWriter)

 

VSPackage'nın yapılandırma kaydeder kullanarak Visual Studio ayarları mekanizması olduğunda, dışa aktarma seçeneği içeri/dışarı aktarma ayarları IDE'nin üzerinde kullanılabilir özellik Araçları menüsünde bir kullanıcı tarafından seçilen.

Ad alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop.8.0 (Microsoft.VisualStudio.Shell.Interop.8.0.dll içinde)

Sözdizimi

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

Parametreler

  • pszCategoryGUID
    Type: System.String

    [in] Dışarı aktarılacak ayar grubu tanımlayan GUID. Özel ayarları noktası için tanımlayıcı GUID budur. Kaydetme ayarları Kalıcılık desteği özel ayarları noktaları hakkında daha fazla bilgi için bkz

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, döndürür S_OK. Başarısız olursa, bir hata kodu döndürür.

Açıklamalar

Tek bir VSPackage birden fazla özel ayarları noktası (ayarları kategori) destekler.

Bu nedenle, uygulamaları ExportSettings geçirilen GUID kategori denetleyin ve belirli özel ayarları noktası tarafından belirtilen duruma kaydetmek için doğru mekanizması seçin gerekir.

Aşağıdaki örnekte ExportSettings kalıcı anahtar bağlama durumu aksine kalıcı komut çubuğu durumu için farklı bir uygulama çağırır.

Ek olarak uygulama tarafından kaydedilen veriler ExportSettings, ayarları API sürümü de otomatik olarak kaydeder Visual Studio yapılandırma bilgilerini vermek için kullanılır.

Örnekler

Bu örnekte, uygulanması ExportSettings yapılandırmanıza bağlı olarak dışarı aktarma iki farklı yöntemler arasında seçer pszCategoryGUID bağımsız değişkeni.

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;
};

Ayrıca bkz.

ImportSettings
IVsUserSettingsQuery
IVsUserSettings Arabirimi
Microsoft.VisualStudio.Shell.Interop Ad alanı
Kullanıcı ayarları için destek
Nasıl yapılır: birlikte çalışma derlemeleri kullanarak ayarlarını Dışarı Aktar
Nasıl yapılır: birlikte çalışma derlemelerini ayarları içeri aktarmak için kullanın
Working with Settings

Başa dön