Indentation configurable de code visual basic

Soyez le premier à donner votre avis sur cette source.

Vue 6 980 fois - Téléchargée 571 fois

Description

Indentation configurable de code Visual Basic - v1.0
Conception/développement : Vincent Dummer (cyrus@mageos.com)

Description :
-------------
Cet outil permet d'indenter (placer les décalages de début de ligne) automatiquement tout le code d'un projet Visual Basic.

Exemple :

Avant :

Private Sub MaSub
For i = 1 to 10
text1.text = Str(i)
Next
End Sub

Après :

Private Sub MaSub

|-->For i = 1 to 10
|------>Text1.text = Str(i)
|-->Next

End Sub

Fonctionnalités :
-----------------
-Indentation de d'un projet Visual Basic 6 ou inférieur
-Règles de l'indentation entièrement configurables
-Suppression des lignes vides inutiles

Mode d'emploi :
---------------
1-Sélectionnez le chemin de votre projet
2-Clickez sur le bouton 'GO'

Et c'est tout ! Le programme se chargera d'effectuer l'indentation sur tous les Forms/Modules/Classes trouvés dans votre projet.

NB : Il est possible de modifier les règles de l'indentation en cliquant sur le bouton 'Mode complet'.

Note sur le paramétrage de l'indentation :
------------------------------------------
Une structure est un ensemble comprenant une balise de début et une balise de fin (ex : For / Next).
Une ligne simple est une ligne comprenant une balise de début mais ne possédant pas de balise de fin (ex : Rem)

Colonne 1 (StartItem) : Balise de départ d'une structure ou d'une ligne simple
Colonne 2 (EndItem) : Balise de fin d'une structure
Colonne 3 (LinesBefore) : Nombre de lignes que l'on souhaite voir apparaitre avant la structure/ligne simple
Colonne 4 (LinesAfter) : Nombre de lignes que l'on souhaite voir apparaitre après la structure/ligne simple
Colonne 5 (InternalMargin) : Nombre de lignes qui seront placées au début et à la fin d'une structure
Colonne 6 (Offset) : Décalage par rapport au niveau d'indentation actuel

Principe de fonctionnement :
----------------------------
Le niveau d'indendation initial est de 0, ce qui veut dire que le texte n'est pas décalé par rapport à gauche.

On scrute ensuite chaque ligne pour voir si elle contient une balise de début ou de fin.
-Si la ligne contient un début de structure, on l'indente avec le niveau d'indentation actuel puis on incrémente ce niveau de 1.
-Si la ligne contient un début de ligne simple, on indente cette ligne avec le niveau d'indentation actuel + l'offset défini.
-Si la ligne contient une fin de structure, on décrémente le niveau d'indentation actuel et on indente la ligne actuelle avec cette valeur

Si le niveau d'indentation arrive à -1 à un momemt donné ou si le niveau final est supérieur à 0, cela veut alors dire qu'il y a un problème de structure du code et on affiche un message d'erreur. (Cela peut vouloir dire que l'il y a un End If isolé dans le code, par exemple)

Pour bien comprendre le fonctionnement, le mieux est de lire l'exemple suivant :

NB : - L'indentation se fera ici par l'insertion de 4 espaces blancs (comme dans l'environnement de développement de Visual Basic) en début de ligne
- La ligne simple commençant par 'Else' possède un offset de -1

Code avant indentation :

Private Function(A as Integer)
If A = 1 Then
MsgBox "A=1"
Else
MsgBox "A<>1"
End If
End Function

Indentation de ce code :

' (Début - Niveau d'indentation = 0)
Private Function(A as Integer) ' (Balise de début 'Private Function' : Niveau d'indentation++, soit 1)
|-->If A = 1 Then ' (Balise de début 'If' : Niveau d'indentation++, soit 2)
|------>MsgBox "A=1" ' (Niveau d'indentation = 2)
|-->Else ' (Balise de début de ligne simple 'Else': Niveau d'indentation - Offset, soit 1)
|------>MsgBox "A<>1" ' (Niveau d'indentation = 2)
|-->End If ' (Balise de fin 'End If' : --Niveau d'indentation, soit 1)
End Function ' (Balsie de fin 'End Function' : --Niveau d'indentation, soit 0)
' (Fin - Niveau d'indentation = 0 => OK)

Limitations :
-------------
Aucune

Bugs connus :
-------------
Aucun

Historique de versions:
-----------------------
V1.0 : - Version initiale

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

codea
Messages postés
94
Date d'inscription
dimanche 9 mai 2004
Statut
Membre
Dernière intervention
6 août 2006
-
C'est bon ! mais pour les intéressés une applic du genre existe déja que j'utilise depuis 2 ans maintenant ... http://www.oaltd.co.uk/Indenter/Default.htm
Zlub
Messages postés
815
Date d'inscription
mercredi 11 octobre 2000
Statut
Membre
Dernière intervention
29 septembre 2010
2 -
Salut,

Merçi pour cette source, je vais pouvoir lire et tester les codes de vbfrance, sans m'arracher les cheveux quand l'indentation de certaines sources n'est pas correcte.

J'avais dans l'idée de faire une appli dans ce style, thx pour le gain de temps...

Pas grand chose à dire, des commentaires, sources claires, création de la base de donnée : bon boulot.

++

Zlub
jon256
Messages postés
43
Date d'inscription
mercredi 20 août 2003
Statut
Membre
Dernière intervention
20 décembre 2003
-
Si seulement je pouvais faire des prog comme toi ....

T'es génial :
- tu mets des captures
-tu mets des expliactions détaillée (sur le site)
- tes progs fonctionnent (pas comme d'autres...)
- tes porgs on des fonctions avancées

Que demander de mieux ?
cs_Tidus
Messages postés
78
Date d'inscription
dimanche 21 avril 2002
Statut
Membre
Dernière intervention
7 juillet 2003
-
C'est le genre de softs qui deviennent inutiles avec VB.NET, vu que l'identage est automatisé ... :-D ... Cela dit, moi je préfère identer en codant, c'est moins contraignant à mon sens ...
cs_FAS
Messages postés
88
Date d'inscription
vendredi 26 avril 2002
Statut
Membre
Dernière intervention
24 février 2006
-
EXCELLENT !!!

10/10

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.