# Outils d'édition

## Fragments de code

## Fonctionnalités (vue d'ensemble préliminaire)

- « SnippetPart » ajoute une vue des outils qui par défaut s'inscruste à droite

- L'ajout, l'édition et la suppression de fragments est disponible via un menu qui apparaîtt

- Double-cliquer sur un fragment depuis une liste l'insère dans la vue active à la position actuelle du curseur

- Les infobulles affichent le contenu d'un fragment

- Comme les fragments sont stockés dans le répertoire personnel des utilisateurs, chacun peut avoir ses propres fragments

- Les fragments peuvent contenir des variables dans le style de $`VARNAME`$. Lors de l'emploi des fragments, l'utilisateur reçoit une invite à saisir une valeur de remplacement pour les variables

## Correspondance de clavier

Dans ce qui suit, nous listerons les associations de touches par défaut de l'éditeur par défaut. Vous pouvez les configurer à votre gré (comment ?)

Gauche | Se déplace d'un caractère vers la gauche
Droite | Se déplace d'un caractère vers la droite
&Ctrl; Gauche | Se déplace d'un mot vers la gauche
&Ctrl; Droite | Se déplace d'un mot vers la droite
Haut | Se déplace d'une ligne vers le haut
Bas | Se déplace d'une ligne vers le bas
Page Haut | Se déplace d'une page vers le haut
Page Bas | Se déplace d'une page vers le bas
&Ctrl; Page Bas | Se déplace au début du fichier
&Ctrl; Page Bas | Se déplace à la fin du fichier
Début | Se déplace au début de la ligne
Fin | Se déplace à la fin de la ligne

Pour toutes les touches ci-dessus, on peut peut appuyer en plus sur la touche &Maj; pour faire une marque depuis la position actuelle du curseur jusqu'à celle d'après.

Correction | Supprime un caractère à gauche
Suppression | Supprime le caractère sous le curseur
&Ctrl; C | Copie le texte sélectionné dans le presse-papiers
&Ctrl; V | Colle le texte sélectionné depuis le presse-papiers
&Ctrl; X | Supprime le texte sélectionné et le place dans le presse-papiers
&Ctrl; Z | Annuler
&Maj;&Ctrl; Z | Refaire

## La liste des problèmes

(... à écrire ...)

## Recherche et « grep »

### Recherche de texte

&Ctrl;F- Chercher &Ctrl;R- Remplacer

### ISearch

La recherche conventionnelle avec Édition Chercher exige que vous indiquiez le terme complet à rechercher avant de de démarrer. Le plus souvent, il est beaucoup plus rapide de faire une recherche incrémentale. Si vous cliquez dans le champ d'édition étiqueté ISearch dans la barre d'outils, la recherche s'effectue à mesure que vous saisissez. Vous constaterez que souvent le terme souhaité est déjà trouvé après avoir saisi 3 ou 4 lettres.

### Grep

Les deux mécanismes de recherche décrits ci-dessus se limitent à la recherche dans un fichier source. Un outil additionnel qui vous permet de faire une recherche à travers un nombre (éventuellement grand) de fichiers est disponible via l'élément Chercher dans les fichiers... dans le menu Édition. C'est essentiellement une interface pour le programme &grep;(1).

Dans la boîte de dialogue, vous pouvez spécifier quels sont les fichiers recherchés. Il y a un certain nombre de motifs jokers disponibles dans une zone de liste modifiable. De cette manière, vous pouvez facilement restreindre le mécanisme de recherche aux fichiers d'en-tête. En outre, vous spécifiez un dossier où démarrer la recherche. Si vous cochez la case Récursif, la recherche itère via tous les dossier dans la hiérarchie au-dessous de celle-ci.

Le terme à rechercher est en général une expression régulière qui suit la syntaxe POSIX. Par exemple, vous pouvez utiliser le terme `"\<K.*"` si vous voulez trouver tous les mots commençant par la lettre K. Les caractères suivants sont interprétés d'une manière spéciale :

`.` | Correspond à n'importe quel caractère
`^` | Correspond au début d'une ligne
`$` | Correspond à la fin d'une ligne
`\<` | Correspond au début d'un mot
`\>` | Correspond à la fin d'un mot
`?` | Le précédent élément correspond à moins d'une fois
`*` | L'élément précédent correspond zéro ou plusieurs fois
`+` | L'élément précédent correspond une ou plusieurs fois
`{n}` | L'élément précédent correspond exactement n fois
`{n,}` | L'élément précédent correspond n ou plusieurs fois
`{,n}` | L'élément précédent correspond à moins de n fois
`{n,m}` | L'élément précédent correspond au moins `n` fois mais moins de `m` fois

Des références arrières à des expressions entre crochets sont également accessibles via la notation `\n`.

Pour les programmeurs C++, comme bonus spécial, il y a certains modèles de recherche disponibles pour des motifs typiques. Ceux-ci vous permettent de rechercher par exemple tous les exemples de fonctions membres d'un certain objet.

Une fois que commencez la recherche en cliquant sur le bouton Rechercher, elle sera effectuée par un processus externe asynchrone. Tous les éléments trouvés apparaîtront dans la vue appelée Grep. Vous pouvez ensuite passer aux éléments trouvés en cliquant dessus. Notez que « grep » explore les fichiers à mesure qu'ils sont stockés dans le système de fichiers. Si vous en avez modifié des versions dans votre éditeur, vous risquez d'avoir des discordances dans le numéro de ligne, ou bien certains éléments trouvés seront invalides. Vous pouvez éviter cela en enregistrant tous les fichiers au préalable.

## Complétement du code

(... à écrire ...)

## Créer de nouveaux fichiers et de nouvelles classes

(... à écrire ...)

### Édition des modèles

(... à écrire ...)