ProvideLanguageCodeExpansionAttribute 构造函数

初始化 ProvideLanguageCodeExpansionAttribute 类的新实例。

命名空间:  Microsoft.VisualStudio.Shell
程序集:  Microsoft.VisualStudio.Shell.11.0(在 Microsoft.VisualStudio.Shell.11.0.dll 中)

语法

声明
Public Sub New ( _
    languageService As Object, _
    languageName As String, _
    languageResourceId As Integer, _
    languageIdentifier As String, _
    pathToSnippetIndexFile As String _
)
public ProvideLanguageCodeExpansionAttribute(
    Object languageService,
    string languageName,
    int languageResourceId,
    string languageIdentifier,
    string pathToSnippetIndexFile
)

参数

  • languageService
    类型:System.Object
    [in] 这是包含 GUID 或类型的字符串表示形式实现语言服务的类。语言服务的 GUID 从该字符串或类型派生。
  • languageName
    类型:System.String
    [in] 语言的名称。此名称将在注册表为该注册表项和访问名。
  • languageResourceId
    类型:System.Int32
    [in] 语言名称的本地化版本的资源 ID。这用于在对话框和其他用户界面元素的语言名称。
  • languageIdentifier
    类型:System.String
    [in] 包含标识符特定的字符串用于指示并确定代码段的语言。
  • pathToSnippetIndexFile
    类型:System.String
    [in] 包含路径的字符串。语言的代码段索引文件。

备注

以下注册表布局显示位置使用每个必选参数。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\[X.Y]\Languages\
  Language Services\
    CodeExpansions\
      [languageName]\
        (Default) = reg_sz: [languageService]
         DisplayName  = reg_sz: [languageResourceId]
         IndexPath    = reg_sz: [pathToSnippetIndexFile]
         LangStringID = reg_sz: [languageIdentifier]
         Package      = reg_sz: [Package GUID]

[包的 GUID] 值从实现在程序集的 IVsPackage 接口的类将自动获取。

除了在参数部分列出的必需参数外,构造函数在必需的参数后还接受选项命名参数。这是在用户定义的特性只支持的特殊形式。命名参数对应于具有访问此类的公共属性并设置运算符。

有关如何的详细信息代码段索引文件中创建和使用,请参见 为代码段 (托管包结构) 支持

示例

using Microsoft.VisualStudio.Shell;

namespace MyLanguagePackage
{
    internal class MyConstants
    {
        public const string languageName           = "MyLanguage";
        public const int    languageNameResourceID = 106;
        public const string languageIdentifier     = "mylanguage";
        public const string snippetsIndexFilePath   = @"%InstallRoot%\MyLanguage\SnippetsIndex.xml";
    }

    [ProvideCodeExpansion(typeof(MyLanguageService),            // Required
                            MyConstants.languageName,           // Required
                            MyConstants.languageNameResourceID, // Required
                            MyConstants.languageIdentifier,     // Required
                            MyConstants.snippetsIndexFilePath,  // Required
        // Optional code expansion properties
        SearchPaths = @"%InstallRoot%\MyLanguage\Snippets\%LCID%\Snippets;" +
                      @"\%MyDocs%\Code Snippets\MyLanguage\My Code Snippets";
                         )]

    class MyLanguagePackage
    {
    }
}

.NET Framework 安全性

请参见

参考

ProvideLanguageCodeExpansionAttribute 类

Microsoft.VisualStudio.Shell 命名空间

其他资源

为代码段 (托管包结构) 支持