我正在为visual studio创建一个非常简单的扩展。我在尝试使用python文件类型时只尝试使扩展名处于活动状态。我找到了this,并试图将它应用到我的情况,但我想我错过了一些东西。扩展程序与python文件一起正常工作,但当我希望忽略它们时,它仍然对其他文件类型保持活动状态。
到目前为止,我按照演练进行了这个课程:
static class FileAndContentTypeDefinitions
{
[Export]
[Name("py")]
[BaseDefinition("text")]
internal static ContentTypeDefinition hidingContentTypeDefinition;
[Export]
[FileExtension(".py")]
[ContentType("py")]
internal static FileExtensionToContentTypeDefinition hiddenFileExtensionDefinition;
}
然后,在SourceProvider和HandlerProvider中我有:
[Export]
[ContentType("py")]
这使python文件类型可以工作,但在其他文件类型打开时不会禁用扩展。有没有办法实现这一目标?
编辑:我意识到这太模糊了。扩展提供了基于之前发生的方法签名(如果适用)的python doc注释的完成建议。这是在'''''''输入。我希望这只发生在python文件中。其他出口是: 来自HandlerProvider
[Export]
[ContentType("py")]
[Export(typeof(IVsTextViewCreationListener))]
[Name("token completion handler")]
[ContentType("text")]
[TextViewRole(PredefinedTextViewRoles.Editable)]
来自Source Provider
[Export]
[ContentType("py")]
[Export(typeof(ICompletionSourceProvider))]
[ContentType("text")]
[Name("token completion")]
我可能还会补充一点,因为这是我第一次尝试扩展创建,因此我非常关注MSDN演练。结果虽然,我并不自信我可以解释代码的每一点(翻译:我不知道它的作用是多少)。
答案 0 :(得分:0)
您正在导出您的提供商&amp; for(var i = 1; i <= 10; i++) {
$('#currentgrid').append('<div class="ui-bar ui-bar-e">Info'+i+'</div>');
}
和[ContentType("text")]
的听众。
不要那样做。
此外,您的第二个[ContentType("py")]
属性将作为该类本身导出,这是无用的。