IntelliSense 完成单词 (托管包结构)

Word 填充完在一个部分已键入的字符串中缺少字符。 如果只有一个可能的完成,单词完成,在完成字符进行编码时。 如果部分单词匹配多个可能性,可能的完成列表中显示。 完成字符可以是没有为标识符使用的任何字符。

实现步骤

  1. 当用户选择 完成单词IntelliSense 菜单时, COMPLETEWORD 命令发送到语言服务。

  2. ViewFilter 类捕获命令并调用与 CompleteWord分析原因的 Completion 方法。

  3. 使用 CompletionSet 类, Source 类公开的 ParseSource 方法获取可能的单词完成列表随后显示在工具提示的字符串列表。

    如果只有一个匹配的字符串, Source 类完成单词。

,或者,如果扫描仪返回触发器值 MemberSelect ,当标识符的首字符与键入时, Source 类检测此并调用与 MemberSelect分析原因的 Completion 方法。 在这种情况分析器必须检测成员选择字符的显示和提供成员列表。

启用对完成单词支持

若要启用对单词完成支持一组命名参数的 CodeSense 传递给 ProvideLanguageServiceAttribute 用户属性与语言包。 这将 LanguagePreferences 类的 EnableCodeSense 属性。

该分析器必须返回列表的说明以响应运行完成的分析原因值 CompleteWord,可以运行。

实现在 ParseSource 方法的完成单词

对单词完成, Source 类调用 AuthoringScope 类的 GetDeclarations 方法获取可的单词匹配项的列表。 您必须实现在从 Declarations 类派生的类的列表。 请参见 Declarations 类有关必须执行的方法的详细信息。

如果列表只包含单词,然后在部分单词位置 word 的自动 Source 类插入。 如果列表包含多个单词, Source 类存在一个工具提示要从其中列出用户可以选择适当的选择。

并查看一次 Declarations 类实现的示例在 IntelliSense 成员完成 (托管包结构)的。