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 JavaScript sayfaları, CSS sayfaları, JSON sayfaları ve Lua sayfaları için uzantısı da yüklendiğinde, yani Modül ad alanındaki sayfalar. Kod düzenleyici, normal wiki sayfalarında, yani "vikimetin" içerik modeline sahip viki sayfalarında gösterilmez. (Kaynak düzenleyiciyi kullanırken vikimetin sözdizimi vurgulaması için sayfasına bakın.)

Aşağıdaki özellikleri sağlar:


 * 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

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
 * girinti/çıkıntı
 * ortak anahtar kelimeler veya kod bitleri için ekleme yardımcıları
 * MW JS API kaynağı, JS ve CSS spesifikasyonları/belgeleri için yardım kaynağı

Bilinen Sorunlar

 * erişilebilirlik: sekme/üst karakter sekmesi geçersiz kılınır. Klavye bağımlısı kullanıcılar için tutarlı bir alternatif var mı?
 * erişilebilirlik: orijinal metin alanındaki erişim anahtarının taşınması veya başka bir şekilde kullanılması gerekir
 * kaydırma çubuğu çok geniş başlatılıyor; doldurulduktan sonra yeniden boyutlandırma kontrolünü tetiklemeniz gerekir (düzeltilebilir mi?)
 * imleç/kaydırma konumu önizlemelerde/değişikliklerde gösterilmiyor

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.