Syntax Highlight Text Editör

3 01 2010

Geçenlerde geliştirdiğim bir projem için sadece görsellik açısından bir metin editörüne ihtiyacım oldu.  Bu metin editöründe görmek istediğim sadece SQL kelimelerinin farklı renkte görünmesi idi. Hemen aklıma mevcut komponentlerden RichTextBox geldi. Ama RichTextBox’ta böyle bir özellik yoktu ve açıkçası böyle bir işlem için ayrı bir komponent yazmak işime gelmedi (Zaman açısından). Emektar google amcamızdan bir araştırma yapayım dedim. Codeproject.com ‘da farklı özelliklerde metin editörü vardı. Fakat bunlar da ya çok profesyonel ve karmaşık ya da kullanım kolaylığı olmayan editörlerdi. Biraz daha araştırdığımda karşıma 2 farklı editör çıktı. Bunlar: ScintillaNET ve SharpDevelop IDE’sinin metin editörleri. ScintillaNET meşhur Notepad++ metin editöründe kullanılıyor. Her ikisi de açık kaynak komponentler. Her iki editör de xml tabanlı ayar dosyalarıyla metin editöründe sözdizimi renklendirme (syntax highlight) yapıyor. Ama açıkçası ScintillaNET kullanışsız geldi bana. Bu yüzden tercihimi SharpDevelop IDE’sinde kullanılan ICSharpCode.TextEditor komponentinden yana kullandım. Bu komponent xshd uzantılı dosyalarda gerekli ayarları tutuyor. Her dil veya özel renklendirme için ayrı bir xshd dosyası kullanılıyor.

Editörden birkaç resim:

Visual Studio 2008 Projesi için TIKLA


İşlemler

Information

5 responses

29 06 2010
gökhan

hocam teşekkürler paylaşımınız için.
Bana renklendirme felan gerekmiyor sadece numaralama lazım. Bunu projeme eklemeye çalıştım ama beceremedim. Verdiğiniz dosyayıda inceledim kodları kopyaladım felan ama olmadı. Bu nesneyi projeme nasıl ekleyebilirim.
Teşekkürler.

29 06 2010
n3cat1

Visual Studio’da Toolbox kısmını açıp herhangi bir komponent üstünde sağ tıklayıp Choose Items seçeneğinin tıklayın. Açılan pencerede .Net sekmesinde Browse butonuna toklayın ve ICSharpCode.TextEditor.dll dosyasını seçin ve Tamam diyin. .Net sekmesine de Tamam tıklayın. Artık Toolbox’da TextEditorControl isminde yeni bir komponent yer almış olacak. Artık geriye bu komponenti windows formunda kullanması kalıyor.

Kenarda satır sayılarını yazması için herhangi bir kod yazmana ihtiyaç yok. Sadece ShowLineNumers özellğinin True olması yeterli satır numaralarını göstermek için.

19 07 2011
hidayet

proje linki ölü rica etsem yenilermisiniz

19 07 2011
hidayet

gerçi üzerinden çok sular geçmiş ama

23 07 2011
n3cat1

Linkler yenilenmiştir 🙂 Kusura bakmayın evdeki tadilattan dolayı anca ilgilenebildim konuyla.

Yorum bırakın