확장기능:코드 편집기

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

Other languages:
English • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎中文 • ‎日本語 • ‎한국어
이 extension 확장기능은 미디어위키 1.31 이상에서 포함됩니다. 따라서 다시 다운로드하지 않아도 됩니다. 하지만 여전히 제공되는 별개의 지침을 따라야 합니다.
미디어위키 확장 기능 매뉴얼
OOjs UI icon advanced.svg
CodeEditor
출시 상태: 안정
CodeEditor extension screenshot.png
설명 Provides a syntax-highlighting code editor for site & user JS, CSS and Lua pages, integrating with advanced edit toolbar
만든이
  • Brion Vibber
  • Derk-Jan Hartman
  • authors of Ace (ace.c9.io)
호환성 정책 마스터
MediaWiki 1.32+
데이터베이스 변경 아니오
라이선스 GNU General Public License 2.0 or later
다운로드
  • $wgCodeEditorEnableCore
CodeEditor 확장 기능 번역 (translatewiki.net에서 가능한 경우)
사용법과 버전 매트릭스를 확인합니다.
이슈 미해결 작업 · 버그 보고

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

Currently the extension is under development, and details of activation and functionality are subject to change.

라이선스

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

설치

The WikiEditor extension needs to be installed for this extension to work. Installing the Scribunto extension is optional.
  • Vagrant 를 사용하고 있는 경우에는, vagrant roles enable codeeditor --provision로 설치해주세요
수동 설치
  • 파일을 다운로드해서, extensions/ 폴더 내의 CodeEditor 이라는 이름의 디렉터리 내에 설치합니다.
  • 아래의 코드를 LocalSettings.php의 말미에 추가합니다:
    wfLoadExtension( 'CodeEditor' );
    $wgDefaultUserOptions['usebetatoolbar'] = 1; // user option provided by WikiEditor extension
    
  • Configure as required.
  • Yes 완료 – 위키의 ‘Special:Version’에 이동해서, 확장기능이 올바르게 설치된 것을 확인합니다.

설정

$wgCodeEditorEnableCore
To disable the editor on JavaScript and CSS pages in the MediaWiki, User and other core namespaces, set $wgCodeEditorEnableCore = false; (기본값은 "true")
$wgScribuntoUseCodeEditor
To use this extension for Scribunto, i.e. in the module namespace set $wgScribuntoUseCodeEditor = true; (기본값은 "false")
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.
$wgScribuntoUseGeSHi
To use this extension for Scribunto as well as 확장 기능:SyntaxHighlight , to allow syntax highlighting in the module namespace set $wgScribuntoUseGeSHi = true; (기본값은"false")
This configuration parameter is provided by the Scribunto 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

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

이슈

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