IVsSettingsWriter 接口
此 API 支持 .NET Framework 基础结构,不适合在代码中直接使用。
用于存储配置信息的 Vspackage 结构。 Visual Studio 设置文件。
命名空间: Microsoft.VisualStudio.Shell.Interop
程序集: Microsoft.VisualStudio.Shell.Interop.8.0(在 Microsoft.VisualStudio.Shell.Interop.8.0.dll 中)
语法
声明
<GuidAttribute("0F1CF980-AFC6-406E-958D-7F24287E3916")> _
<InterfaceTypeAttribute()> _
Public Interface IVsSettingsWriter
[GuidAttribute("0F1CF980-AFC6-406E-958D-7F24287E3916")]
[InterfaceTypeAttribute()]
public interface IVsSettingsWriter
IVsSettingsWriter 类型公开以下成员。
方法
名称 | 说明 | |
---|---|---|
ReportError | ||
WriteCategoryVersion | ||
WriteSettingAttribute | 基础结构。此方法支持 .NET Framework 基础结构,并且不应在代码中直接使用。 | |
WriteSettingBoolean | 在 Visual Studio 设置文件存储 boolean 对象的值。 | |
WriteSettingBytes | ||
WriteSettingLong | 在 Visual Studio 设置文件存储较长的对象的值。 | |
WriteSettingString | 在 Visual Studio 设置文件存储一个字符串值。 | |
WriteSettingXml | ||
WriteSettingXmlFromString |
页首
备注
此接口由环境实现。
调用方的说明
,在存储 VSPackage 的配置信息添加到 Visual Studio 设置文件时,请调用 IVsSettingsWriter 。
实现者说明
仅 Vspackage 注册的它们为结构利用 IVsSettingsWriter的 Visual Studio 设置的支持。有关注册为支持 Visual Studio 设置结构的 VSPackage 的更多信息,请参见 保留的设置。
当设置的导出操作。 导入/导出设置 函数中选择可用在 IDE 的 工具 菜单时,该环境。 IVsSettingsWriter 接口访问 VSPackage 中设置导出方法,使用接口写出配置数据。Visual Studio SDK 支持多个导出方法:
对于基于的互操作程序集 Vspackage,导出方法是 IVsUserSettings 接口的 ExportSettings的 VSPackage 的实现。
对于基于的大多数管理的包结构 Vspackage,导出方法是 IProfileManager 接口的 SaveSettingsToXml的 VSPackage 的实现。
对于基于的托管包结构实现 DialogPage 接口的 Vspackage,导出方法是该接口的 SaveSettingsToXml。
有关更多信息,请参见如何:使用互操作程序集的导出设置 或如何:使用托管包结构的导出设置。
说明 |
---|
除了所有数据之外存储使用 IVsSettingsWriter 方法, IDE 始终透明地存储 Visual Studio 的版本使用导出配置数据。 |
说明 |
---|
最佳做法,在存储缓冲区或字符串时保存存储的缓冲区的大小或字符串以及对象。此范围信息,当检索字符串保存的缓冲区避免缓冲区溢出时,应始终使用。 |
示例
在下面的示例中为 ExportSettings的实现调用的方法,该方法写出三个设置值,其中是要存储的缓冲区的大小。
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;
};
请参见
参考
Microsoft.VisualStudio.Shell.Interop 命名空间