Extension:CodeEditor

From MediaWiki.org
Jump to: navigation, search
This page is a translated version of the page Extension:CodeEditor and the translation is 30% complete.

Other languages:
català • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎italiano • ‎日本語 • ‎한국어 • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎中文
MediaWiki 拡張機能マニュアルManual:Extensions
Crystal Clear action run.png
CodeEditor

リリースの状態:Extension status 安定

CodeEditor extension screenshot.png
説明Template:Extension#description Provides a syntax-highlighting code editor for site & user JS, CSS and Lua pages, integrating with advanced edit toolbar
作者Template:Extension#username
  • Brion Vibber
  • Derk-Jan Hartman
  • authors of Ace (ace.c9.io)
MediaWikiTemplate:Extension#mediawiki 1.27+
データベースの変更Template:Extension#needs-updatephp いいえ
ライセンスTemplate:Extension#license GNU General Public License 2.0 or later
ダウンロード
パラメーターTemplate:Extension#parameters
  • $wgCodeEditorEnableCore
使用するフックTemplate:Extension#hook
EditPage::showEditForm:initialManual:Hooks/EditPage::showEditForm:initial
EditPage::showReadOnlyForm:initialManual:Hooks/EditPage::showReadOnlyForm:initial
GetPreferencesManual:Hooks/GetPreferences

translatewiki.net で翻訳を利用できる場合は、CodeEditor 拡張機能の翻訳にご協力ください

使用状況とバージョン マトリクスを確認してください。

問題点Phabricator

未解決のタスク · バグを報告

The CodeEditor extension extends the WikiEditor advanced editing toolbar with an embedded Ace editor widget, providing some handy features for user/site JS, CSS pages, and when Extension:Scribunto is also installed, for pages in Module namespace:

  • syntax highlighting for JavaScript, CSS and Lua
  • auto-indent
  • tab key produces tab indents (since 1.22), soft indents before.
  • indent/unindent selection with tab/shift-tab
  • syntax validity check for JavaScript
  • Pair-matching for parenthesis, braces and square brackets

この拡張機能は、なお開発中であり、挙動や機能の詳細は変更される場合があります。

ライセンス[edit]

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).

インストール[edit]

  • VagrantMediaWiki-Vagrant を使用している場合は、vagrant roles enable codeeditor --provision でインストールしてください

手動インストール

  • ダウンロードして、ファイルを extensions/ フォルダー内の CodeEditor という名前のディレクトリ内に配置します。
  • 以下のコードを LocalSettings.php の末尾に追加します:
    wfLoadExtension( 'CodeEditor' );
    
  • YesY 完了 - ウィキの「Special:Version」に移動して、拡張機能が正しくインストールされたことを確認します。

設定[edit]

$wgCodeEditorEnableCore
To disable the editor on JavaScript and CSS pages in the MediaWiki, User and other core namespaces, set $wgCodeEditorEnableCore = false; (default is "true")
$wgScribuntoUseCodeEditor
To use this extension for Scribunto, i.e. in the module namespace set $wgScribuntoUseCodeEditor = true; (default is "false")
This configuration parameter is provided by the Scributo extension and must therefore be added after invoking the CodeEditor as well as the Scribunto extension which also needs to be installed for this to work.
$wgScribuntoUseGeSHi
To use this extension for ScribuntoExtension:Scribunto as well as Extension:SyntaxHighlightExtension:SyntaxHighlight, to allow syntax highlighting in the module namespace set $wgScribuntoUseGeSHi = true; (default is "false")
This configuration parameter is provided by the Scributo extension and must therefore be added after invoking the CodeEditor as well as the Scribunto extension. Both the Scribunto and SyntaxHighlight extension also need to be installed for this to work.
JavaScript

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

WikiEditor 統合[edit]

I've been integrating CodeEditor into the pluggable portions of Extension:WikiEditor 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

問題点[edit]

Known issues:

  • probably explodes with classic toolbar now; use with Extension:WikiEditor toolbar. See also bugzilla: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