Extension:CodeEditor

This page is a translated version of the page Extension:CodeEditor and the translation is 98% complete.
Outdated translations are marked like this.
Other languages:
English • ‎español • ‎français • ‎polski • ‎português • ‎português do Brasil • ‎中文 • ‎日本語 • ‎한국어
Cette extension est fournie avec MediaWiki 1.31 et supérieur. Ainsi vous n'avez pas besoin de la télécharger à nouveau. Néanmoins, vous devez encore suivre les autres instructions fournies.
Manuel des extensions MediaWiki
OOjs UI icon advanced.svg
CodeEditor
État de la version : stable
CodeEditor extension screenshot.png
Description Fournit un éditeur de code qui met en forme la syntaxe pour les pages JS, CSS et Lua du site, ainsi que celles de l'utilisateur, en intégrant la barre d'outils d'édition avancée
Auteur(s)
  • Brion Vibber
  • Derk-Jan Hartman
  • authors of Ace (ace.c9.io)
Politique de compatibilité branches de version
MediaWiki 1.32+
Modifie la base de données Non
Licence GPL-2.0-or-later AND BSD-3-Clause
Téléchargement
  • $wgCodeEditorEnableCore
Traduisez l’extension CodeEditor sur translatewiki.net
Vérifiez la matrice des utilisations et des versions.
Problèmes Tâches ouvertes · Signalez un bogue

L'extension CodeEditor étend la barre d'édition avancée WikiEditor avec un widget Ace editor intégré, fournissant quelques fonctionnalités pratiques pour les utilisateurs ou les sites JS, les pages CSS, et pour les pages de l'espace de noms Module lorsque l'Extension:Scribunto est également installée :

  • mise en valeur de la syntaxe pour le JavaScript, CSS et Lua
  • auto-indentation
  • la touche de tabulation génère des indentations tabulées (depuis 1.22) et avant, les indentations étaient logicielles.
  • indenter/désindenter la sélection avec Tab/shift-Tab
  • contrôle de validité syntaxique pour le JavaScript
  • association des paires de parenthèses, accolades et crochets

Actuellement l'extension est en cours de développement et les détails de l'activation ainsi que les fonctionnalités sont sujet à modifications.

Licence

Alors que cette extension est sous licence GNU General Public License v2.0 or later (GPL-2.0+) elle utilise le logiciel Ace editor qui est sous licence BSD 3-clause "Nouveau" ou "Révisé" License (BSD-3-Clause).

Installation

L'extension WikiEditor doit être installée pour que cette extension puisse fonctionner. L'installation de Scribunto est facultative.
  • Si vous utilisez Vagrant , installez avec vagrant roles enable codeeditor --provision
Installation manuelle
  • Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé CodeEditor dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
    wfLoadExtension( 'CodeEditor' );
    $wgDefaultUserOptions['usebetatoolbar'] = 1; // user option provided by WikiEditor extension
    
  • Configurer si nécessaire.
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

$wgCodeEditorEnableCore
Pour désactiver l'éditeur sur les pages JavaScript et CSS de MediaWiki, User et autres espaces de nom du noyau, initialisez $wgCodeEditorEnableCore = false; (par défaut true)
$wgScribuntoUseCodeEditor
Pour désactiver cette extension pour Scribunto, par exemple dans l'espace de noms Module initialisez $wgScribuntoUseCodeEditor = false; (par défaut false)
Ce paramètre de configuration est fourni par l'extension Scribunto et doit par conséquent être ajouté après avoir appelé CodeEditor et l'extension Scribunto; celle-ci doit également avoir été installée auparavent pour que cela fonctionne.
JavaScript

Il est possible de modifier la configuration de l'éditeur ACE, en utilisant l'accroche MediaWiki JS (i.e. mw.hook( 'codeEditor.configure' ).add( ... ).

L'argument passé à votre accroche sera une session d'éditeur ACE.

Intégration de WikiEditor

J'ai intégré CodeEditor dans les parties enfichables de Extension:WikiEditor en tant que préparation pour le travail de l'éditeur Future, car nous voulons pouvoir l'étendre pour éditer d'autres choses que du wikicode brut, ce qui nécessitera quelques modifications dans la configuration de la barre d'outils et ainsi de suite. JS/CSS retournent ici encore du texte brut au final, créant ainsi un projet intermédiaire plus facile. --brion 00:26, 14 juin 2011 (UTC)

Bien :

  • l'insertion de caractères spéciaux fonctionne, y compris les paires de guillemets pour entourer le texte
  • les insertions formatées de base fonctionnent, y compris les dialogues liés
  • faire fonctionner le dialogue chercher/remplacer :
    • L'interface de recherche et de remplacement intégrée d'Ace peut être appelé aussi à partir des commandes du clavier, vous devez toujours les désactiver! (onCommandKey)

Mauvais :

  • le formatage multi-lignes ne se fait pas correctement (mais réellement cela s'applique-t-il ici ? :)

A faire :

  • supprimer les boutons de la barre d'outils qui ne s'appliquent pas (mise en forme, aide à la syntaxe ?)
  • ajouter à la barre d'outils les boutons les plus souvent utiles
    • indenter/désindenter
    • insertion d'assistants pour les mots-clé communs ou les morceaux de code
    • aide sur les références de l'API JavaScript de Mediawiki, spécifications et documentation de JS et de CSS

Problèmes

Problèmes connus :

  • explose probablement avec la barre d'outils classique maintenant; utiliser avec la barre d'outils de Extension:WikiEditor . Voir aussi bugzilla:55419
  • accessibilité: tab/shift-tab sont remplacés. Existe-t-il une alternative cohérente pour les utilisateurs qui utilisent le clavier ?
  • accessibilité: la clé d'accès à la zone de texte originale doit être déplacée ou gérée différemment
  • la barre de défilement est initialisée trop large; besoin de déclencher un contrôle de redimensionnement une fois que l'espace est rempli (adopter peut-être une taille fixe ?)
  • position du curseur / de défilement non maintenue sur les aperçus / afficher les modifications
  • github ace issues 210 ctrl+R, ctrl+L, ctrl+T sont repris par l'éditeur, ce qui est SUPER ennuyeux