我正在處理經典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的內置編輯器。我已經使用自定義文件擴展名測試了我的編輯器分類器;在這種情況下,分類器按預期工作。我想知道,如果可以更改已知文件擴展名的分類器。
我們已經定義了.bas和.cls以映射到基本內容類型以及標準的.vb擴展名。你究竟想在這裏做什麼?你爲什麼不直接在「基本」內容類型上定義分類器? –
我知道這些文件類型被映射到基本內容類型;我也嘗試使用「基本」作爲分類器的基本定義,但它也沒有工作。除此之外,基本編輯器不能正確處理.bas和.cls文件;這些文件有一個包含元數據的標題(我想用Projection來隱藏編輯器中的這些標題,但這是未來的夢想)。 – Matze