Extension:CodeEditor/ru

Расширение CodeEditor расширяет панель инструментов расширенного редактирования WikiEditor встроенным виджетом редактора Ace, предоставляя некоторые удобные функции для страниц JavaScript пользователя/сайта, страниц CSS, страниц JSON, а также, если установлено расширение Scribunto, для страниц Lua, т.е. страниц в пространстве имен Модуль. Редактор кода не отображается на обычных вики-страницах, т.е. вики-страницах с моделью содержимого "вики-текст". (См. для подсветки синтаксиса вики-текста при использовании редактора исходного текста.)

Оно предоставляет следующие возможности:


 * подсветка синтаксиса для JavaScript, CSS и Lua
 * автоматический отступ
 * клавиша табуляции создает отступы табуляции (с версии 1.22), до этого были мягкие отступы.
 * выделение отступа/неотступа с помощью клавиш Tab/Shift-Tab
 * проверка достоверности синтаксиса для JavaScript
 * Попарное сопоставление для круглых и квадратных скобок

Настройка

 * Чтобы отключить редактор на страницах JavaScript и CSS в пространствах имен MediaWiki, User и других основных, установите (по умолчанию "true").
 * Чтобы отключить редактор на страницах JavaScript и CSS в пространствах имен MediaWiki, User и других основных, установите (по умолчанию "true").


 * Чтобы отключить это расширение для Scribunto, то есть в пространстве имен модулей, установите (по умолчанию "true").
 * Чтобы отключить это расширение для Scribunto, то есть в пространстве имен модулей, установите (по умолчанию "true").


 * JavaScript

It is possible to change the configuration of the ACE editor, by hooking into the MediaWiki JS hook (i.e. ). The argument passed to your hook will be an ACE editor session.

WikiEditor integration
'' I've been integrating CodeEditor into the pluggable portions of as prep for Future editor work, since we'll want to be able to extend it to edit things that aren't plain wikitext, which'll need some changes to the toolbar setup and whatnot.   JS/CSS here still return plain text in the end, making it an easier intermediate project. --brion 00:26, 14 June 2011 (UTC) ''

Good:


 * special char insertions work, including quote pairs to surround text
 * basic formatting insertions work, including link dialogs
 * search/replace dialog works
 * ace's built-in search/replace UI also triggers from keyboard commands, still need to disable them! (onCommandKey)

Bad:


 * multi-line formatting doesn't apply correctly (but really should that apply here? :)

Todo:


 * remove toolbar buttons that don't apply (formatting, syntax help?)
 * add toolbar buttons that are more directly useful
 * indent/outdent
 * insertion helpers for common keywords or code bits
 * help reference to MW JS API reference, JS & CSS specs/documentation

Known Issues

 * 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

License
While this extension is licensed GNU General Public License v2.0 or later (GPL-2.0+) it makes use of the Ace editor software which is licensed BSD 3-clause "New" or "Revised" License (BSD-3-Clause).