Extension:CodeEditor/tr

CodeEditor uzantısı, WikiEditor gelişmiş düzenleme araç çubuğunu gömülü bir Ace editör widget'ı ile genişleterek, kullanıcı/site JS'si, CSS sayfaları ve olduğunda bazı kullanışlı özellikler sağlar. Modül ad alanındaki sayfalar için:


 * JavaScript, CSS ve Lua için sözdizimi vurgulama
 * otomatik girinti
 * sekme tuşu, sekme girintileri (1.22'den beri), öncesinde yumuşak girintiler üretir.
 * sekme/kaydırma sekmesi ile seçimi girintileme/girintiyi kaldırma
 * JavaScript için sözdizimi geçerliliği kontrolü
 * Parantez ve köşeli parantezler için çift eşleştirme

Şu anda uzantı geliştirme aşamasındadır ve etkinleştirme ve işlevsellik ayrıntıları değişebilir.

Lisans
Bu uzantı lisanslı iken GNU Genel Kamu Lisansı v2.0 veya üstü (GPL-2.0+), lisanslı BSD 3 maddeli "Yeni" veya "Revize" Lisans (BSD-3-Clause) kullanır.

Yapılandırma

 * MediaWiki, Kullanıcı ve diğer temel ad alanlarındaki JavaScript ve CSS sayfalarında düzenleyiciyi devre dışı bırakmak için  ayarlayın (varsayılan "true")
 * MediaWiki, Kullanıcı ve diğer temel ad alanlarındaki JavaScript ve CSS sayfalarında düzenleyiciyi devre dışı bırakmak için  ayarlayın (varsayılan "true")


 * Bu uzantıyı Scribunto için devre dışı bırakmak, yani modül ad alanında  ayarlayın (varsayılan "true")
 * Bu uzantıyı Scribunto için devre dışı bırakmak, yani modül ad alanında  ayarlayın (varsayılan "true")


 * JavaScript

ACE düzenleyicisinin yapılandırmasını MediaWiki JS kancası (i.e. ) bağlayarak değiştirmek mümkündür. Kancanıza iletilen argüman bir ACE düzenleyici oturumu olacaktır.

WikiEditor entegrasyonu
''Gelecek editör çalışmasına hazırlık olarak CodeEditor'ı takılabilir kısımlarına entegre ediyorum, çünkü onu düz olmayan şeyleri düzenlemek için genişletmek isteyeceğiz  vikimetin, araç çubuğu ayarlarında bazı değişikliklere ihtiyaç duyacak ve ne olmayacak. JS/CSS burada yine de sonunda düz metin döndürür, bu da onu daha kolay bir ara proje yapar. --brion 00:26, 14 Haziran 2011 (UTC)''

İyi:
 * çevreleyen metne alıntı çiftleri dahil olmak üzere özel karakter ekleme çalışması
 * bağlantı iletişim kutuları dahil olmak üzere temel biçimlendirme eklemeleri çalışır
 * arama/değiştirme iletişim kutusu çalışmaları
 * Ace'nin yerleşik arama/değiştirme kullanıcı arayüzü de klavye komutlarından tetiklenir, yine de bunları devre dışı bırakmanız gerekir! (onCommandKey)

Kötü:
 * çok satırlı biçimlendirme doğru şekilde uygulanmıyor (ama bu gerçekten burada geçerli olmalı mı? :)

Yapılacaklar:
 * uygulanmayan araç çubuğu düğmelerini kaldırın (biçimlendirme, sözdizimi yardımı?)
 * daha doğrudan kullanışlı olan araç çubuğu düğmeleri ekleyin
 * indent/outdent
 * insertion helpers for common keywords or code bits
 * help reference to MW JS API reference, JS & CSS specs/documentation

Issues
Known issues:
 * probably explodes with classic toolbar now; use with toolbar. See also 55419
 * accessibility: tab/shift-tab are overridden. is there a consistent alternative for keyboard-reliant users?
 * accessibility: accesskey on the original textarea needs to be moved over or otherwise handled
 * scrollbar initializes too wide; need to trigger resize check after that's filled (maybe fixed?)
 * cursor/scroll position not maintained over previews/show changes
 * upstream ctrl+R, ctrl+L, ctrl+T are taken over by the editor, which is SUPER annoying