Pojďme společně objevovat funkce komponenty Scintilla (http://www.scintilla.org/)!
Ve zkratce se jedná o velice mocný "textbox", který v sobě zahrnuje vše co člověk očekává od současných editorů - barevné syntaxe, "auto completion", "folding", zvýrazňování, styly, apod. Bohužel se však jedná o komponentu, kolem které je zatím hodně málo návodů a proto je někdy těžké vyznat se v ni.
Pro .NET vývojáře je k dispozici slušný wrapper ScintillaNET (http://www.codeplex.com/ScintillaNET), který zapouzdřuje většinu (všechny hlavní) nativních funkcí.
Začal jsem vytvářet zkušební aplikaci, do které bych rád začlenil jednoduché snippetky všech základních funkcí. Je to zatím pouze skromný pokus o rozpoutání diskuze, ale věřím, že společnými silami popíšeme všechny funkce této komponenty a ve výsledku vytvoříme použitelný návod pro další vývojáře VB.
Funkce, které jsou již vyzkoušené v ukázce:
- Základní stylování z kódu aplikace. Komponenta umí také automatické stylování dle předloh, ale to mi prozatím zůstává skryto. Respektive, když budete používat některý z existujících "stylovačů" (http://www.codeplex.com/ScintillaNET/Wiki/View.aspx?title=HowToSyntax&referringTitle=Home) tak to není problém. Problémem zatím zůstává vytvoření stylovače zcela nového a nestandardního (není to příliš zdokumentované).
- Auto completion
- Odchytávání kurzoru myši a vyhodnocení, na kterém slově se myš nachází
- Další stupeň zvýraznění textu - podobné jako když máte syntaktickou chybu ve VS
- Číslování řádků
Funkce, které teprve čekají na popsání:
- Folding
- Jak vkládat ikony a případně celé kontextové menu ala MS SmartTags
- A vše ostatní, co vás napadne....
Celou testovací aplikaci včetně zkompilovaných DLL souborů potřebných komponent (nativní Scintilla + wrapper) si můžete stáhnout níže. Podívejte se též na readme v adresáři /Core.
Pojďme diskutovat :) Hribek25