2013-06-20 2 views
2

У меня есть файлы с пользовательским расширением .mcsx, которые являются файлами CSharp. Я хочу получить завершение кода в этих файлах в Visual Studio 2012, но эти файлы рассматриваются как обычный текст, когда я открываю их в VS.Visual Studio обрабатывает настраиваемое расширение как CSharp

Я попытался создать пользовательское расширение MEF, которое позволяет обрабатывать файлы как имеющие тип содержимого на основе csharp, но я не получаю автозаполнение или форматирование кода для этих документов. Мне может потребоваться вызвать собственный классификатор CSharp для моего настраиваемого типа контента, но я не уверен. Может ли кто-нибудь помочь?

Обычай ТипСодержимого ниже:

static class ContentType 
{ 
    public const string Name = "CSScript"; 

    [Export] 
    [Name(Name)] 
    [DisplayName("CSharp Script")] 
    [BaseDefinition("CSharp")] 
    public static ContentTypeDefinition CSharpContentType = null; 


    [Export] 
    [ContentType(Name)] 
    [FileExtension(".mcsx")] 
    public static FileExtensionToContentTypeDefinition CSharpFileExtension = null; 

} 

ответ

2

Благодаря «Эго» на форумах VS:

Вы можете добавить файл пользовательского расширения через путь ниже:

http://blogs.msdn.com/b/zainnab/archive/2010/08/22/using-custom-file-extension-associations-vstipenv0038.aspx

Для получения дополнительной информации о регистрации языковой службы пожалуйста, смотрите:

http://msdn.microsoft.com/en-us/library/vstudio/bb166421(v=vs.110).aspx

0

Так внутри VS вещи на самом деле немного отличается от API-редактор подразумевают - мы на самом деле не использовать типы контента (по большей части), чтобы определить, когда активировать. У Ноя Ричардса есть great blog post, который показывает, как создать расширение, которое отмечает другое расширение под существующим редактором.

+0

Джейсон, спасибо за ссылку. Я следил за инструкциями на этом блоге, но безрезультатно. Это сообщение было написано для VS2010. Как вы думаете, изменилось ли это для VS2012? –

+0

Можете ли вы разместить файл .pkgdef где-нибудь, чтобы я мог посмотреть? –

Смежные вопросы