Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Pierrick's Blog

.Net "full power"

Editer les fichiers Erlang dans VS2010, avec la coloration syntaxique

Visual Studio 2010 possède un nouvel éditeur, réalisé en WPF. En utilisant le SDK de Visual Studio il est possible de le personnaliser.

c’est ce que j’ai fait en réalisant une extension pour rendre la lecture des fichiers erlang (*.erl) plus agréable.

image 

La coloration syntaxique néccessite de parser le “source” de l’éditeur.

en effet :

- la mise en couleur du texte, nécessite que celui-ci soit transformé en token (String, Number, Variable, Define,….) via un scanner

- la mise en place des régions nécessite un parser, afin de transformer les tokens en arbre syntaxique –> dans cet arbre on y trouve la notion de “fonction” qui définie une region dans le cas ci-dessus.

- de même pour le matching des parenthèses, il faut que le source soit sous forme de tokens

- la mise en evidence des mots identiques peut être réalisé de trois façons :

  - recherche de mots identiques sous forme de texte

  - recherche de tokens identiques

  - recherche de tokens identiques en tenant compte de la portée (une variable d’une fonction)

 

le principe utilisé ici est simple, un parser est associé à chaque TexBuffer (buffer representant le source du fichier en cours d’édition)

image 

Les “taggers” ont la responsabilité de fournir une liste de tag contenant  :

- la position  + une longueur dans le buffer

- le formatage à appliquer sur cette zone

ces taggers, s’appuient sur le parser associé au document en cours, pour fournir leur liste de “tags”

si vous voulez en connaitre plus sur la personalisation de Visual studio, je vous conseille le sdk de visual studio

cette extension est disponible sur visualstudiogallery

ou dans “l’extension manager” de Visual Studio 2010

image

 

Bon téléchargement !

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 3 juin 2010 20:16 par pierrick

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Comment exporter tous les comptes Azure Active Directory ayant une license via PowerShell par Blog Technique de Romelard Fabrice le 05-17-2018, 13:46

- PowerShell: Comment avoir le Country Name depuis un Country Code par Blog Technique de Romelard Fabrice le 05-17-2018, 13:20

- Office 365: Comment supprimer un compte externe d’un site SharePoint Online en mode Extranet par Blog Technique de Romelard Fabrice le 05-11-2018, 17:00

- Office 365: Comment reconfigurer le lien “Bloc-notes” d’un teamsite par Blog Technique de Romelard Fabrice le 05-09-2018, 16:45

- Office 365: Utiliser l’option “Alert Me” de la page de résultat de recherche par Blog Technique de Romelard Fabrice le 05-09-2018, 14:57

- Office 365: Comment télécharger l’image de profil de Delve par Blog Technique de Romelard Fabrice le 05-09-2018, 14:28

- Office 365: Valeur “Country or Region” et “User Location” dans Azure AD par Blog Technique de Romelard Fabrice le 05-04-2018, 12:08

- Office 365: Menu d’administration non visible dans une page SharePoint par Blog Technique de Romelard Fabrice le 05-04-2018, 11:50

- Office 365: Comment avoir un minimum de statistiques d’usage de votre site SharePoint Online par Blog Technique de Romelard Fabrice le 05-04-2018, 11:41

- Office 365: Reconfigure la gestion des demande d’accès dans SharePoint par Blog Technique de Romelard Fabrice le 05-04-2018, 10:41