Extension:CodeEditor/fr

L'extension CodeEditor étend la barre d'édition avancée WikiEditor avec un widget Ace éditeur 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 par paire des 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).

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. 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 les choses qui ne sont pas du wikicode brut, 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 basiques 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 se déclenche 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 directement 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 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 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 l'espace rempli (peut-être 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