Новая и полная реализация универсального Intellisense

Я заинтересован в написании универсального редактора с поддержкой Intellisense для SQL и C # (и др., Если возможно!). Я хотел бы сделать это на C # как переопределенный или расширенный элемент управления WPF richTextBox. Я знаю, что существует множество примеров проектов, и я реализовал собственную базовую версию; но большинство примеров, с которыми я сталкивался (и действительно мои собственные), являются просто базовыми .

Вот несколько примеров кода:

  1. DIY Intellisense Автор stillanotherchris

  2. CodeTextBox - еще один элемент управления RichTextBox с подсветкой синтаксиса и Intellisense. Автор Тамас Хонфи

Однако я нашел отличный пример редактора SQL с Intellisense Редактор SQL QueryCommander Микаэль Хоканссон , похоже, работает хорошо.Microsoft должна использовать XML-библиотеку ключевых слов команд, но у меня вопрос: как (подробно) Microsoft реализует свой Intellisense (как вы вводите Intellisense) и насколько сложно мне будет создать свою собственную по тому же стандарту?


Edit A: Год спустя мне удалось разработать свой собственный редакторский контроль с базовым intellisense в основном для моего собственного «удовольствия». Я думал, что вернусь и предоставлю список свободно доступных проектов .NET, которые помогли мне в моей собственной разработке и которые можно использовать прямо из коробки и бесплатно:

  1. ICSharpCode (WinForms)

  2. AvalonEdit ( WPF)

  3. ScintillaNET (WinForms)

  4. Командир запросов [например, реализация intellisense] (WinForms)


Редактировать B: через 15 месяцев после того, как вопрос был задан, я все еще ищу новые улучшенные редакторы. Вот этот хороший ...

  1. RoslynPAD классный!

Edit C: 2 года + после вопроса, я нашел следующие проекты, как использующие WPF, так и поддерживаемые AvalonEdit.

  1. Завершение кода для AvalonEdit с использованием NRefactory. Этот проект действительно хорош и имеет полную реализацию intellisense с использованием NRefactory.

  2. ScriptCS ScriptCS позволяет легко писать и выполнять C # с помощью простого текстового редактора.

61
задан MoonKnight 4 November 2014 в 09:44
поделиться