获取自定义的ContentType与自动完成的VSIX扩展到注册

问题描述 投票:0回答:1

我写了一个扩展,提供智能感知自动完成一个VS Shell独立。我有正在这个自动完成的问题只适用于一个特定的文件类型的文件。我已经按照指导here这样做。

相关类文件:

using Microsoft.VisualStudio.Utilities;
using System.ComponentModel.Composition;

namespace VSIXProject1
{
    internal static class FileAndContentTypeDefinitions
    {

        [Export]
        [Name("assembly")]
        [BaseDefinition("text")]
        internal static ContentTypeDefinition hidingContentTypeDefinition;

        [Export]
        [FileExtension(".asm")]
        [ContentType("assembly")]
        internal static FileExtensionToContentTypeDefinition hiddenAVRASMFileExtensionDefinition;
    }
}

尽管这样,当我穿上ICompletionSourceProvider的[ContentType("assembly")]出口和用于处理智能感知整合IVsTextViewCreationListener,自动完成无法显示在所有。然而,当我使用[ContentType("text")][ContentType("plaintext")]自动完成将分别显示了双方的所有文件或只是.txt文件。

这是第一个VSIX插件我试图让,也许我错过了什么。目前,我在什么下一个尝试的损失。很多谷歌搜索还没有产生太多的信息,我发现的代码资源似乎实现我试图以同样的方式这种行为。

c# visual-studio intellisense vsix
1个回答
0
投票

因此,一些不成功的尝试,和运气的行程后,我意识到我的问题了。具体隔离壳牌(爱特梅尔工作室)我试图写扩展已有的组件文件的ContentType。我猜,当我说我自己的内容类型,它是由外壳本身覆盖。

为了解决这个问题,我使用的外壳采用了ContentType的名字正好是“汇编”。这恰好是基于,根据工具>选项>文本编辑器出现在语言侥幸猜中。希望这可以帮助别人谁运行在将来同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.