我正在为经典的 Visual Basic 源文件(模块和类文件)开发一个编辑器分类器扩展。该项目是使用 Visual Studio 2012 SDK 中的编辑器分类器项目模板创建的。该向导创建了三个代码文件:一个用于分类器,一个用于分类器格式和 -provider,另一个用于包含分类定义。我对最后一个进行了以下更改,以便将文件链接*.bas
到*.cls
我的自定义分类器...
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.Text.Classification;
using Microsoft.VisualStudio.Utilities;
internal static class MyEditorClassifierClassificationDefinition
{
[Export(typeof(ClassificationTypeDefinition))]
[Name("MyEditorClassifier")]
internal static ClassificationTypeDefinition MyEditorClassifierType = null;
[Export]
[Name("custom")]
[BaseDefinition("code")]
internal static ContentTypeDefinition MyContentDefinition = null;
[Export]
[FileExtension(".bas")]
[ContentType("custom")]
internal static FileExtensionToContentTypeDefinition MyModuleFileExtensionDefinition = null;
[Export]
[FileExtension(".cls")]
[ContentType("custom")]
internal static FileExtensionToContentTypeDefinition MyClassFileExtensionDefinition = null;
}
问题是,Visual Studio 不会为具有*.bas
. 或*.cls
扩展名的文件调用我的分类器,而是使用 Visual Basic 的内置编辑器。我已经使用自定义文件扩展名测试了我的编辑器分类器;在这种情况下,分类器按预期工作。我想知道,是否可以更改已知文件扩展名的分类器。