L'extension offre la possibilité de formater un document de template APE en appliquant des règles d'indentation de code.
Détection de l'indentation
Par défaut, l'éditeur Visual Studio Code est configuré pour détecter, à l'ouverture d'un fichier, son type d'indentation. L'indentation d'un fichier est définie par le caractère utilisé, à savoir tabulation ou espace. Si le caractère d'indentation est l'espace, alors un nombre d'espaces définit la "taille" de l'indentation.
Le paramétrage dans Visual Studio Code de la détection de l'indentation (à l'ouverture d'un fichier existant), du caractère d'indentation et du nombre d'espaces (à la création d'un nouveau fichier) s'effectue au niveau des paramètres de l'éditeur (via la palette de commandes par exemple).
Pour un fichier donné (ouvert dans l'éditeur), il est possible de changer les paramètres d'indentation via la barre de statut :
Voir la vidéo dans le lecteur multimédia ↑ Haut de page
Formatage de code source
Le formatage de code suppose que le code écrit soit syntaxiquement correct.
A l'instar des langages de balises, les caractères ">" et "<" sont des caractères réservés. Ils permettent à la fois de délimiter l'appel à une balise et servent aussi d'opérateurs de comparaison. Pour cela, il est fortement conseillé de les utiliser comme suit :
- Dans une utilisation comme opérateur FreeMarker de comparaison, utiliser respectivement à la place de ">", ">=", "<", "<=" les opérateurs équivalents "gt", "gte", "lt" et "lte" ;
- Dans une utilisation comme caractère dans une chaîne alphanumérique, utiliser respectivement à la place des caractères ">" et "<" les caractères d'échappement "\g" et "\l".
De plus, FreeMarker permet l'utilisation de balises d'instructions du langage ouvrantes sans balises fermantes associée (ex : <#if> ... <#else> ... </#if>). Les balises <#assign>, <#else>, <#elseif>,<#break>, <#case>, <#default>, <#continue>, <#fallback>, <#flush>, <#global>, <#import>, <#include>, <#local>, <#lt>, <#nested>, <#nt>, <#recurse>, <#return>, <#rt>, <#setting>, <#stop>, <#t>, <#visit> lorsqu'elles sont utilisées sans leur balise fermante, doivent obligatoirement être appelées comme des balises autofermantes (ex: <#else />, <#elseif />, <#break />, etc.).
Seules les balises <#recover>, <#case> et <#defaut> doivent s'utiliser sans balises de fin.
Le formatage s'appuie sur des règles d'indentation définies dans le paramétrage de l'extension APE Template Editing. Ces règles peuvent être modifiées localement pour un projet (portée workspace) ou globalement pour l'utilisateur (portée user).
Le déclenchement du formatage du document se fait en sélectionnant la commande "Format Document" accessible via le menu contextuel (clic avec le bouton droit de la souris) de l'éditeur de texte du document :
Voir la vidéo dans le lecteur multimédia ↑ Haut de page