Винница: нужны PHP и .NET разработчкики Численные методы на C#    TechPosters    Data Mining SDK    Компании    Бесплатные книги    DreamSpark 

Microsoft User Group Винница
Сообщество .NET разработчиков
 

Создайте свою среду для разработки (IDE) за 10 минут

Звучит красиво и интригующе Smile

Вот то что у нас должно получится:

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

AvalonEdit

AvalonEdit - основаный на WPF редактор используемый в SharpDevelop 4.x. В использовании AvalonEdit  очень похож на обычный TextBox!

Для загрузки документа ....

И на конец, подсветка синтаксиса:

AvalonEdit поддерживает ASP.NET, Boo, Coco/R grammars, C++, C#, HTML, Java, JavaScript, Patch files, PHP, TeX, VB, XML.

Если вам интерестно узнать подробнее об этом елементе управлеения то нужно почитать статью Daniel Grunwald’s на CodeProject. (Так же будет полезно почитать Document и Rendering которые были удалены из оригинальной статьи.)

AvalonDock

AvalonDock - библиотека WPF елементов управления которую можно задействовать для создания макета расположения дочерних окон как это сделано в Visual Studio. Это поддержка всплывающих окон, мэнеджер множественного стыкования дочерних окон, стили и темы и поддержка элементов управления WinForms.

DockingManager

DockingManager ответственен за расстановку своего контента (панели и т.д.) и для выполнения их правильного стыкования.

ResizingPanel

ResizingPanel это унаследованый от Panel классс который призван организовать свой контент (панели и т.д.) по направлению (как Orientation в StackPanel классе). Между двумя последовательными ResizingPanel елементами автоматически вставляется ResizingPanelSplitter. Потянув за сплиттер можно изменять размер ResizingPanel елемента.

DockablePane & DocumentPane

DockablePane может содержать только DockableContents и может быть перетянут и перестыкован к границе контейнера DockingManager. В добавок DockablePane может быть автоспрятан ("отстыкован")  или всплывающим если разположен в сплыващем окне. DocumentPane может содержать как DocumentContents так и DockableContents, но он не может быть перемещен.

Детальнее в отличном AvalonDock Tutorial.

ОК, правда это еще далеко не IDE, но описаные контролы были использованы при написании OpenSource продукта SharpDevelop.

Enjoy Smile

З.Ы.

оригинал статьи Create your own IDE in 10 minutes.

Related Posts with Thumbnails

-->


Posted Oct 08 2009, 11:15 AM by Jorgen Bumajnikov
Filed under: ,

Comments

Roman wrote re: Создайте свою среду для разработки (IDE) за 10 минут
on 10-08-2009 15:52

Это не разработка IDE за десять минут, а разработка текстового редактора с подсветкой синтаксиса.

Например даже банального интеллисенса нет.

Хотя сама по себе библиотека AvalonDock(www.codeplex.com/AvalonDock) заслуживает внимания.

Хотя к ней тоже могут быть вопросы. Например загрузка/сохраниение layout и много других

LexRema wrote re: Создайте свою среду для разработки (IDE) за 10 минут
on 10-08-2009 23:09

Рома, ты как всегда критичен :). Думаю, под "иде" имелись ввиду не только синтаксис, но и плавающие панели... а компилятор прикрутить - это уже по желанию :)). Уже не блокнот для редактирования штмл :).

LexRema wrote re: Создайте свою среду для разработки (IDE) за 10 минут
on 10-08-2009 23:19

Кстати, писал уже о библиотеке с плавающими панелями:

msug.vn.ua/.../c-docking-pannels.aspx

Add a Comment

(required)  
(optional)
(required)  
Remember Me?

Enter the numbers above:

2008-2010 © Microsoft User Group Винница

При перепечатке материалов ссылка на сайт обязательна. Использование материалов сайта в коммерческих целях возможно только с разрешения автора. Разработка логотипа: Helen

О нас | MSUG Timeline | Поддержать | Memberships | iPhone Community

Контакты:

34013567(пять)
msugvn@gmail.com
krakovetsky.alex
Группы:

Microsoft User Group Винница В Контакте Twitter:RSSLinkedIn
Powered by Community Server (Non-Commercial Edition), by Telligent Systems