Perpanjangan:CodeEditor

This page is a translated version of the page Extension:CodeEditor and the translation is 4% complete.
Ekstensi ini tersedia di MediaWiki 1.31 dan selanjutnya. Jadi Anda tidak perlu mengunduhnya lagi. Akan tetapi, Anda masih perlu mengikuti instruksi lain yang diberikan.
Manual ekstensi MediaWiki
OOjs UI icon advanced-invert.svg
CodeEditor
Status rilis: stabil
CodeEditor extension screenshot.png
Deskripsi Menyediakan editor kode penyorotan sintaks untuk situs & pengguna JS, Halaman CSS dan Lua, terintegrasi dengan toolbar edit lanjut
Perancang awal
  • Brion Vibber
  • Derk-Jan Hartman
  • authors of Ace (ace.c9.io)
Kebijakan kompatibilitas Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.32+
Perubahan basis data Tidak
Lisensi GPL-2.0-or-later AND BSD-3-Clause
Unduh
  • $wgCodeEditorEnableCore
Terjemahkan ekstensi CodeEditor jika tersedia di translatewiki.net

Periksa matriks penggunaan dan versi.

Masalah Tugas terbuka · Laporkan kekutu

The CodeEditor extension extends the WikiEditor advanced editing toolbar with an embedded Ace editor widget, providing some handy features for user/site JavaScript pages, CSS pages, JSON pages, and when extension Scribunto is also installed, for Lua pages, i.e. pages in the Module namespace. The code editor does not show on regular wiki pages, i.e. wiki pages with the "wikitext" content model. (See Extension:CodeMirror for syntax highlighting of wikitext when using the source editor.)

It provides the following features:

  • 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 keys
  • syntax validity check for JavaScript
  • Pair-matching for parenthesis, braces and square brackets
The WikiEditor extension needs to be installed for this extension to work. Installing the Scribunto extension is optional.
  • Jika menggunakan Vagrant , pasanglah dengan vagrant roles enable codeeditor --provision
Instalasi manual
  • Unduh dan letakkan berkas-berkasnya di dalam sebuah direktori yang bernama CodeEditor di folder extensions/ Anda.
  • Tambahkan baris berikut di bawah LocalSettings.php Anda:
    wfLoadExtension( 'CodeEditor' );
    $wgDefaultUserOptions['usebetatoolbar'] = 1; // user option provided by WikiEditor extension
    
  • Configure as required.
  • Yes Selesai – Telusuri ke Special:Version di wiki Anda untuk memastikan ekstensinya berhasil dipasang.

Configuration

$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 disable this extension for Scribunto, i.e. in the module namespace set $wgScribuntoUseCodeEditor = false; (default is "true")
This configuration parameter is provided by the Scribunto 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.
JavaScript

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

WikiEditor integration

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

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