Tuto Scite

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Tuto Scite as PDF for free.

More details

  • Words: 2,567
  • Pages: 10
SciTE : l'éditeur indispensable Dans le monde des éditeurs de texte, le choix est plutôt difficile. Les utilisateurs de Microsoft Windows en savent quelque chose, puisqu'avec un Bloc-notes aphatique et un WordPad pathétique, on a du mal à imaginer que l'informatique a évoluée depuis les années 70... Heureusement il y a Scite, un éditeur de texte libre (évidemment), portable (qui fonctionne sous Windows et sous Linux, entre autres) et incroyablement performant tout en restant leger comme une plume ! Alors, vous qui cherchez depuis des années un éditeur à tout faire, supportant à la fois le HTML, le CSS, mais aussi le PHP, le C ou encore le C++, ça vous dirait d'entrer dans le XXIe siècle ?

Présentation SciTE signifie Scintilla Text Editor . Scintilla est un composant d'édition de code source aux fonctionnalités impressionantes, utilisé dans de nombreux projets, comme Anjuta ou Notepad2. Ok, super, nous voila bien avancé ! Mais qu'est-ce qu'il permet de faire au juste ? Comme tous les éditeurs de texte, SciTE permet d'éditer n'importe quel fichier texte (code source, fichier de configuration ou simple fichier texte), dans n'importe quel encodage (il gère parfaitement l'UTF-8). Il offre de nombreuses fonctionnalités en terme d'édition pure (recherche et remplace à base de regexp, selection en colonnes, ...) et se débrouille à merveille comme éditeur de code (coloration syntaxique, intégration des API des langages permettant l'autocomplétion des fonctions, possibilité de « replier » du code, possibilité de compiler directement depuis l'éditeur, ...). En plus, il dispose d'onglets (tabs) et connait un nombre impressionnant de langages. Bref, le couteau suisse idéal pour tout programmeur ! Ca vous tente ? Alors passons à l'installation...

Installation Les utilisateurs de Linux devraient trouver SciTE packagé dans leur distribution. Les utilisateurs de Windows pourront trouver sur la page de download plusieurs versions : Les Windows Executable ne demandent pas d'installation, mais n'offrent pas toutes les fonctionnalités. A utiliser lorsqu'on n'est pas sur son ordinateur (surtout le single file executable vraiment pratique). Les Windows Installers s'intègrent parfaitement à Windows (vous pourrez donc faire clic droit sur un fichier, puis « Editer dans SciTE »). Je vous conseille l'installeur de Bruce Dodson, light et très complet.

Utilisation SciTE fonctionne comme n'importe quel éditeur de texte (ou presque). Il peut ouvrir plusieurs fichiers simultanément grâce à la gestion des onglets ( tabs). Les raccourcis claviers standards Ce sont pratiquement tous les mêmes que dans la plupart des autres logiciels, aussi bien sous Windows que sous Linux. Combo Ctrl + O Ctrl + W Ctrl + N Ctrl + S Ctrl + Shift + S Ctrl + Tab Ctrl + Shift + Tab Ctrl + F F3 Shift + F3 Ctrl + H Ctrl + G Ctrl + C Ctrl + X Ctrl + V Ctrl + Z Ctrl + Y Ctrl + A Ctrl + P

Action Ouvre un fichier. Ferme le fichier en cours. Nouveau fichier (nouvel onglet). Enregistrer le fichier. Enregistrer le fichier sous un autre nom. Passer à l'onglet de droite. Passer à l'onglet à gauche. Rechercher ( find ). Trouver le résultat suivant (après avoir commencé une recherche). Trouver le résultat précédent (après avoir commencé une recherche). Rechercher & Remplacer. Aller à la ligne... ( goto) Copier. Couper. Coller. Annuler. Refaire (après une annulation ratée). Sélectionner tout le contenu du fichier. Imprimer.

Les raccourcis claviers d'édition Combo Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl Ctrl

+ + + + + + + + +

Shift Shift U Shift L Shift Shift D T

Ctrl + <-

+ A + D + U + T + L

ou ->

Shift + une flèche directionnelle, PageUp, PageDown , Home ou End Ctrl + Shift + <- ou -> Ctrl + Backspace Ctrl + Suppr Ctrl + Shift + Backspace Ctrl + Shift + Suppr

Action Afficher les espaces et les tabs. Afficher les caractères End of Line (fin de ligne). Transforme la sélection en minuscules. Transforme la sélection en majuscules. Coupe la ligne en cours Copie la ligne en cours Supprime la ligne en cours Duplique la ligne en cours. Inverse la ligne en cours avec celle au dessus ( transpose ). Se déplacer d'un mot entier vers la gauche ou vers la droite (attention, parfois il se trompe avec les accents). Se déplacer en sélectionnant. Sélectionner un mot entier vers la gauche ou vers la droite. Supprime du début du mot jusqu'au curseur Supprime du curseur jusqu'à la fin du mot Supprime du début de la ligne jusqu'au curseur Supprime du curseur jusqu'à la fin de la ligne

Les raccourcis claviers spéciaux pour les codeurs

Combo Tab Shift + Tab Ctrl + E Ctrl + Shift + E

Ctrl + Q

Action Indente le bloc sélectionné Dé-indente le bloc sélectionné Déplace le curseur jusqu'à la parenthèse/accolade ouvrante ou fermante. Sélectionne tout ce qui est contenu entre 2 parenthèses/accolades. Commente/Décommente la/les ligne(s) en cours en mode Block , selon le langage. Exemple en C++ : //~ string truc("PONG :" + c.getWhat()); //~ s.send(truc);

Commente les lignes selectionnées en mode Box . Exemple en C++ : Ctrl + Shift + B

/* * */

string truc("PONG :" + c.getWhat()); s.send(truc);

Commente les lignes selectionnées en mode Stream . Exemple en C++ : Ctrl + Shift + Q

/* string truc("PONG :" + c.getWhat()); s.send(truc); */

Propose des choix d'autocomplétion pour le mot en cours (à condition que l'API du langage soit installée, voir comment faire). Exemple, taper str puis Ctrl + i en C donnera :

Ctrl + I

Réaffiche la Calltip de la fonction en cours (à condition que l'API du langage soit installée, voir comment faire) :

Ctrl + Shift + Espace

F7 Ctrl + F7 F5

Lance la compilation du fichier dans l' output pane (voir ci-dessous) Lance la construction du projet auquel appartient le fichier (voir ci-dessous) Lance le binaire compilé ou le logiciel permettant de visualiser le fichier (navigateur web en cas de fichier HTML par exemple)

Voici les raccourcis clavier dont je me sert régulièrement. Mais il existe des tas d'autres, et si vous ne trouvez pas votre bonheur ici, essayer de regarder dans la doc, rubrique Keyboard commands . Enfin, pour les gens vraiment très exigeants, sachez qu'il est possible de définir ses propres raccourcis clavier, via la propriété user.shortcuts (voir ci-après pour la configuration de SciTE). N'en ayant jamais eu besoin, je ne peux malheureusement pas en dire plus là dessous. Je vous conseille donc d'aller lire la doc de SciTE si cette fonctionnalité vous interresse.

Configuration SciTE a un défaut : il n'offre pas d'interface pour paramétrer les options. Tout se fait via l'édition des fichiers de configuration. Même si la syntaxe n'est pas difficile, c'est un peu contraignant, voire parfois rebutant pour certains. Mais ne vous inquiétez, voici une rapide présentation du fonctionnement de l'engin, et vous allez voir, c'est très simple ! Il y a 3 niveaux de fichiers : Global, User et Local. Local est prioritaire sur User qui est prioritaire sur Global. Par exemple, si une option est présente à la fois dans Global et dans User, c'est la valeur de User qui sera retenue. Les fichiers sont accessibles via le menu Options, puis Open Global Options File ou Open User Options File (ou encore Open Local Options File ). Le fichier Global définit les options globales par défaut de SciTE (c'est à dire, celles qui s'appliqueront à tous les utilisateurs). Sous Linux, le Global est en général quelque part dans /usr/share/scite/ et n'est pas accessible par l'utilisateur (seulement le root). Il vaut mieux laisser ce fichier intact, d'abord parcequ'il vous permettra de retrouver facilement les options par défaut en cas de soucis, mais surtout parcequ'il sera écrasé à chaque mise à jour de SciTE, et donc il faudra refaire toutes les modifs... Le fichier User est donc celui qu'il vous faut pour définir toutes les options que vous voulez. Sous Linx, il est dans ~/.SciTEUser.properties alors que sous Windows il se balade quelque part dans le profil. Il est vide par défaut, alors on peut soit le remplir au fur et à mesure, soit recopier le fichier global dedans et le modifier après ; c'est une question de goût. Le fichier Local sert à définir des paramètres particuliers pour un dossier. Il doit se trouver dans le même dossier que les fichiers auxquels on veut appliquer ces paramètres (par exemple : mode d'indentation, wrap des lignes, options du compilateur, etc.). Pour connaitre tous les détails des fichiers de configuration de SciTE, vous pouvez lire la doc, rubrique Properties files. Dans la suite de cet article, toutes les options seront à rajouter au User Options File .

L' output pane , ou comment transformer SciTE en IDE Vous avez peut-être remarqué une petite fenêtre, sur la gauche ou en bas de la fenêtre d'édition ? C'est l'output pane, là où sont affichés les résultats de la compilation du fichier ou du projet... Et oui, car SciTE peut executer la compilation du fichier ( compile ) ou de tout le projet ( build), et lancer le résultat obtenu ( go). Pour cela, il faut le configurer grâce aux propriétés command.go , command.build et command.compile . Voici par exemple ma configuration personnalisée pour les fichiers C/C++ (sous Linux) : command.compile.*.c=gcc -Wall $(FileNameExt) -o $(FileName) command.compile.*.cpp=g++ -Wall $(FileNameExt) -o $(FileName) command.build.*.c=make command.build.*.cpp=make command.go.*.c=$(FileName) command.go.*.cpp=$(FileName) command.go.needs.*.c=gcc -Wall $(FileNameExt) -o $(FileName)

Lorsque des erreurs s'affichent dans l' output pane, un double clic sur la ligne vous amenera directement à la ligne concernée, comme sur le screenshot ci-dessous :

Ce système est très très (très) largement configurable, notamment via l'utilisation des fichiers de configuration Local Options File , qui permettent de définir des paramètres de compilation différents selon le dossier. Je conseille à ceux qui sont interressés par ces fonctionnalités d'aller lire la doc de SciTE, rubrique Standard Editing et Defined variables in properties files.

Trucs, astuces et options utiles SciTE regorge d'options utiles, mais souvent (trop) bien cachées. Pour vous donner une idée, j'utilise SciTE depuis 3 ans bientôt, et j'en découvre encore regulièrement ! Voici un condensé des options que j'utilise. Sélection en colonnes Sélectionner du texte en appuyant sur Ctrl sous Linux ou Alt sous Windows. Pour ceux qui ne connaissent pas, la sélection en colonnes ça permet de faire selectionner du texte comme ça :

Tabs La barre des onglets ( tabbar) n'est pas toujours activée par défaut, ou alors le nombre de fichiers que l'on peut ouvrir en même temps ( buffers ) est limité à 1. Voici les propriétés utiles : tabbar.visible=1 tabbar.hide.one=0 tabbar.multiline=1 buffers=100

Pour afficher le numéro du fichier dans la barre de titre ( [2 of 4] par exemple), il faut utiliser la propriété : title.show.buffers=1

Numéros de lignes C'est pas toujours activé par défaut, alors il faut faire : line.margin.visible=1 line.margin.width=4

Fonts Sous Linux, elles sont très très moches par défaut. En plus, SciTE utilise des fonts qui ne sont pas monospace (c'est à dire que chaque caractère n'utilise pas exactement le même nombre de pixel - cas de la plupart des polices destinées à la rédaction de documents), ce qui est une très mauvaise idée pour le codage. Personnellement, je remplace donc toutes les fonts par Fixed en taille 10 ou 12. Voici mes paramètres : if PLAT_GTK font.base=font:fixed,size:12 font.small=font:fixed,size:10 font.comment=font:fixed,size:12 font.code.comment.box=$(font.comment) font.code.comment.line=$(font.comment) font.code.comment.doc=$(font.comment) font.text=font:fixed,size:12 font.text.comment=font:fixed,size:12 font.embedded.base=font:fixed,size:12 font.embedded.comment=font:fixed,size:12 font.monospace=font:fixed,size:12 font.vbs=font:Lucida Sans Unicode,size:10

Fermer automatiquement les tags XML et (X)HTML Par exemple, je tape

et ça donne

avec le curseur entre les deux balises. xml.auto.close.tags=1

Remplacer dans tous les fichiers ouverts D'après la documentation de SciTE, il faudrait ajouter cette propriété : find.replace.advanced=1

Elle ferait apparaitre un bouton Replace in Buffers qui permettrait de remplacer dans tous les fichiers ouverts. Malheureusement, je n'ai encore jamais réussi à faire apparaître ce bouton... Esperons que ce bug sera rapidement corrigé ! Les boutons Home et End utilisent les lignes visuelles au lieu des lignes logiques Lorsqu'on active l'option Wrap (via le menu Options ou via la propriété wrap=1), les lignes trop longues s'arrettent au bord de l'écran et reviennent à la ligne, au lieu de continuer (et d'obliger l'utilisateur à défiler horizontalement). La ligne trop longue en question est appellé ligne « logique » et forme alors plusieurs lignes dites « virtuelles », car il n'y a pas physiquement de caractère de fin de ligne : c'est juste un effet visuel. Un moyen de s'en rendre compte est de constater que ces lignes virtuelles ne sont pas numérotées, comme le montre le screenshot ci-dessous :

Par défaut, les touches Home et End déplacent le curseur au début et à la fin de la ligne logique . Pour changer se comportement afin qu'elles déplacent le curseur sur la ligne visuelle, c'est la propriété : wrap.aware.home.end.keys=1

Configurer l'aspect du folding Le folding permet de « replier » des morceaux de codes, par exemple le corps d'une fonction ou bien une ligne d'un tableau HTML entre 2 balises . Pour cela, il suffit de cliquer sur les icones qui apparaissent dans la marge spéciale (ou utiliser le raccourci clavier Ctrl + * (du pavé numérique). Au cas où ça ne serait pas activé par défaut, il faut rajouter les options : fold=1 fold.compact=0 fold.flags=16 fold.symbols=1 fold.comment=1 fold.preprocessor=1 fold.html=1

Le paramètre fold.symbols permet de définir l'aspect des icones de folding. Voici les différents valeurs :

fold.symbols=0

fold.symbols=1

fold.symbols=2

fold.symbols=3

(mon préféré :)

Utiliser les icones Gnome pour la toolbar (parceque celles par défaut sont vraiment moches) Uniquement sous Linux. toolbar.usestockicons=1

Repère visuel à 80 caractères

edge.column=80 edge.mode=1 edge.colour=#C0DCC0

Note : Un bug sur ma version (1.66) fait que la ligne est tracée par dessus le texte. C'est assez désagréable. Intégration des API Les fichiers API peuvent être téléchargé sur le site officiel, ou créé par des scripts, mais là il faut aller lire la doc parceque j'ai jamais essayé. Ils permettent l'autocomplétion des fonctions, ainsi que l'affichage des calltips indiquant les paramètres et la description des fonctions.

Dans les propriétés, il faut indiquer le chemin des fichiers. Exemple : api.*.c=/usr/share/scite/c.api api.*.cpp=/usr/share/scite/c.api api.*.php=/usr/share/scite/php.api

Indentation Comme je l'expliquais dans l'article sur les coding style, il est préferable d'utiliser des tabulations pour l'indentation, et d'en choisir la taille. Avec SciTE, ça se configure comme ça (exemple avec des tabs qui font 8 caractères) : tabsize=8 indent.size=8 use.tabs=1

Ouvrir les fichiers HTML dans Firefox Par défaut, lorsqu'on fait Go (touche F5) sur un fichier HTML, SciTE ouvre Internet Explorer, ou Netscape sous Linux. Pour ouvrir le fichier dans une nouvelle tab d'un Firefox déjà lancé, il suffit d'ajouter : command.go.*.html=firefox -remote "openurl(file://$(FilePath),new-tab)"

Utiliser SciTE pour l'UTF-8 SciTE est capable de détecter l'encodage du fichier en se basant sur les commentaires en début de fichier. Par exemple, un fichier XML débutant par :

ou n'importe quel fichier source débutant par : # -*- coding: utf-8 -*-

sera reconnu.

Si pour une raison ou pour une autre ce n'est pas le cas, vous pouvez changer l'encodage du fichier en cours via le menu File , Encoding .

UTF-8 encodera le fichier avec un caractère spécial au début, invisible tant qu'on reste avec SciTE, mais qui risque de géner si le fichier est déstiné à être utilisé avec d'autres éditeurs qui ne le gère pas. UTF-8 Cookie encodera le fichier sans ce caractère spécial, mais en contrepartie, il n'y aura aucun moyen de détecter qu'il est en UTF-8. Il faudra préciser à chaque ouverture que ce fichier est en UTF8

Related Documents

Tuto Scite
November 2019 22
Tuto
October 2019 25
Firefox Tuto
November 2019 18
Sims2 Tuto
November 2019 16
Cygwin Tuto
June 2020 7
Tuto 2
April 2020 5