Extension:CodeEditor/fr

L'extension CodeEditor étend la barre d'outils d'édition avancée WikiEditor avec un widget d'éditeur Ace intégré, fournissant des fonctionnalités pratiques pour les utilisateurs ou les sites JavaScript, les pages CSS, les pages JSON, et lorsque l'extension est aussi installée, pour les pages LUA comme les pages de l'espace de noms Module. L'éditeur de code ne s'affiche pas sur les pages wiki régulières, c'est à dire les pages wiki ayant wikitext pour modèle de contenu.

Il fournit les fonctionnalités suivantes :


 * 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

Configuration

 * Pour désactiver l'éditeur sur les pages JavaScript et CSS de MediaWiki, User et autres espaces de nom du noyau, initialisez  (par défaut  )
 * Pour désactiver l'éditeur sur les pages JavaScript et CSS de MediaWiki, User et autres espaces de nom du noyau, initialisez  (par défaut  )


 * Pour désactiver cette extension pour Scribunto, par exemple dans l'espace de noms  initialisez   (par défaut  )
 * Pour désactiver cette extension pour Scribunto, par exemple dans l'espace de noms  initialisez   (par défaut  )


 * JavaScript

Il est possible de modifier la configuration de l'éditeur ACE, en utilisant l'accroche MediaWiki JS (i.e. ). 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 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 connus

 * 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

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