Visual studio 2010 colourizers, intellisense и остальные.С чего начать!

Хорошо, прежде чем я начинаю, я понимаю, что существует много документации относительно этого предмета, но мне к настоящему времени не удалось получить даже основную колоризацию, работающую на VS2010.

Моя цель состоит в том, чтобы просто добраться до точки, где я могу открыть документ, и все окрашено в красный, отсюда я могу реализовать соответствующую логику синтаксического анализа.

Вот то, что я пробовал/находил:

1) Загруженный весь соответствующий SDK и такой - Найденный ook образцом (http://code.msdn.microsoft.com/ookLanguage) - не создавали, не работал.

2) Знание почти ничего о MEF прочитало "Реализацию Сервиса Языка При помощи Управляемой Платформы Пакета" - http://msdn.microsoft.com/en-us/library/bb166533 (v=VS.100) .aspx

Это было в значительной степени копией и вставкой всего основного материала здесь, и также обновляющий некоторые ссылки, которые устарели с образцом, см.: http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/a310fe67-afd2-4592-b295-3fc86fec7996

Теперь, я имею к точке, где при выполнении пакета MEF, кажется, поднял трубку правильно (я знаю это, потому что с отладчиком открываются, я вижу, что пакеты инициализируют, и методы FDoIdle поражаются).

Когда я открываю файл расширения, я зарегистрировался в ProvideLanguageExtensionAttribute, все умирает, как будто в бесконечном цикле, все же никакой хит отладочных символов (хотя они загружаются).

При рассмотрении ook образца и примеров MEF они, кажется, полностью разные подходы к той же проблеме. В ook образце существуют понятия контроллеров Clasifications и Completion, которые не упоминаются в примере MEF. Кроме того, они, кажется, не создают сервис Пакета или Языка, таким образом, я понятия не имею, как он должен работать?

С примером MEF мое предположение - то, что я должен сцепиться в "IScanner. ScanTokenAndProvideInfoAboutIt" для обеспечения подсветки синтаксиса? Который был бы прекрасен, если я мог бы когда-либо поражать этот метод.

Таким образом, мой первый вопрос, который я предполагаю, - какой подход я должен проявлять здесь? Или они оба так или иначе сходятся?

Мои вторые вопросы, где я могу найти основной полностью рабочий проект, который реализует выделение базового синтаксиса стандарта трясины и intellisense или VS2010?

В-третьих, в примере MEF, когда я создал Пакет, был набор тестовых проектов, созданных для меня. Я появляюсь, что интеграционные тесты запускают тестовую буровую установку VS2010 так или иначе, но тестовые сбои. Было бы хорошо записать мой сервис с тестами, но я понятия не имею, что/как я могу протестировать каждое взаимодействие, таким образом, любые ссылки на тестирование сервисов Языка были бы полезны.

Наконец, бросьте любые ссылки ресурса/книги мой способ, которым я могу найти полезным.

С наилучшими пожеланиями, Chris.

N.B. Извините я понимаю, что это - напыщенная речь части вопроса о части, но я так никогда не смущался.

6
задан Owen 31 May 2010 в 16:57
поделиться

1 ответ

Во-первых, пример пакета - , а не с использованием MEF. По сути, каждое место, где вы упоминаете MEF в своем вопросе, на самом деле не MEF, а структура управляемых пакетов (MPF), также в просторечии называемая управляемой языковой службой (MLS). Вы узнаете, использует ли ваше расширение MEF по двум причинам: в vsixmanifest ваша сборка указана как содержащая компонент MEF, и вы видите атрибуты [Экспорт] и [Импорт] в код.

Самый простой способ сделать это - это использовать MEF. Поскольку у вас установлен SDK, у вас также есть шаблон для проекта классификатора редактора (в разделе C # (или VB) -> Расширяемость-> Классификатор редактора в диалоговом окне «Новый проект»). Вы, конечно, можете сделать это с помощью языковой службы / раскраски / пакета, но там будет значительно больше кода, чем у эквивалентного классификатора.

Решение Ook является примером для этого, и должно работать; если он не работает / не работает, то можете ли вы отправить мне электронное письмо (noahric в Microsoft) с указанием ошибок, которые вы видите, чтобы я мог отправить электронное письмо владельцу этого образца?

В общем, вам также следует прочитать my ответьте на вопрос «Как я могу написать плагин для VS2010, используя MEF?». Там есть ссылки на другие ресурсы, которые должны помочь.

4
ответ дан 17 December 2019 в 07:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: