WPF: Syntax Highlight TextBox

Založil jsem projekt Simple WPF Syntax Highlight TextBox na CodePlexu. Jak už název napovídá, jedná se o projekt s cílem vytvořit jednoduchý TextBox k editaci zdrojových kódů. Budu se snažit projekt udržovat a rozšiřovat (doufám), protože se zatím jedná o první veřejnou verzi, která má k dokonalosti pořád daleko.

Vlastnosti

Základní vlastnosti jsou v bodech napsány na domácí stránce projektu, ale tady se o nich taky zmíním:

  • Jednoduše definovatelná pravidla obarvování pomocí Brush (ne pouze barva)
  • Definovatelné pozadí pomocí Brush (ne pouze barva)
  • Libovolná barva kurzoru
  • Zvýraznění seznamu slov
  • Číslování řádků
  • Definovatelná velikost odsazení (Tab size) – Taby se převádí na mezery
  • Správné odsazování pomocí tab/shift+tab i pro výběr více řádků
  • Nový řádek pomocí enteru (jak jinak? :) ) respektuje odsazení, které bylo na aktuálním řádku

V testovacím programu je ukázka zvýrazňování syntaxe pro jazyky IronPython (používá Dynamic Language Runtime, a tak lze jednoduše upravit pro jakýkoliv DLR jazyk) a pro Boo (používá upravený oficiální lexikální analyzátor jazyka Boo).

Vlastní myšlenka, kterou popisují např. články CodeBox2 Project na CodeProject a DevHawk CodeBox, je v tom, že se původnímu TextBoxu nastaví napevno transparentní text a zajistí se vlastní vykreslování v metodě OnRender.

Co dál?

V dalších verzích se můžete těšit na zvýrazňování celých řádků, např. pro breakpointy, chyby, apod. A také na jednoduché doplňování kódu (intellisense), které bude implementováno pro jazyk Boo.

Zveřejněno 12 listopadu 09 06:21 by topas
Vedeno pod: ,

Upozornění na nové komentáře

Pokud chčeš dostávat upozornění emailem na změny u toho příspěvku,tak se zaregistruj zde.zde

Odebírat komentáře k tomuto příspěvku pomocí RSS

Komentář

Žádné komentáře

Vytvoření nového komentáře

(povinný) 
(nepovinný)
(povinný) 
Opiš čísla, která vidíš na obrázku: