Slt,
je n'arrive toujours pas à comprendre cette passion de vouloir bricoler
un code existant pour y ajouter des pseudo instruction...
Alors qu'il est si simple d'inclure des fonction de déplacement du
curseur fonctionnel, pour aller de boucle en boucle, classe en classe, ...
Je suis bloqué par un bug inhérent au pureBasic,mais si cela n'est pas
déjà fait tu devrais essayer VisuScript pour voir ce que cela donne...
m'enfin, de mémoire il existait des code nomé pyBrace ou pyBracket il
me semble pour faire cela
Ce n'est assurément pas ton but, mais puisque tu semble utiliser
VisualStudio il exist une extension pour éditer le ython.
Je ne l'ai pas utilisé, mais hier est sorti une mise à jour de cette
extension qui s'appelle "Python Tool for Visual Studio, PTVS"
Le 25/03/2015 02:59, Yannick Youalé a écrit :
Salut à tous !
Je voudrais vous faire part de mes découverte en ce qui concerne
l'insertion de balises de fin de block dans un code python, ce qui
pour certain améliorerait grandement la lisibilité de ce langage.
En effet, j'ai redécouvert un module nommé pindent.py, présent dans
toutes les distribution depuis au moins python2.5 et qui peut servir à:
1. Insérer des balises de fin de plock (sous forme de commentaires) au
code;
2. retirer ces balises de fin de block du code;
3. reformatter le code afin d'ajuster les indentations (sur la base
des balises de fin de block (lorsque ces indentations ont été
désorganisées pour une raison ou pour une autre".
Pour trouver ce module, rien de plus simple. Vous allez dans le
dossier du python installé sur votre ordinateur, et vous y lancez une
recherche sur l'expression "pindent.py".
Plus bas, je vous collerai un code de test qui m'a servi à explorer
les possibilités de ce module.
Pour ceux qui ont visité mon site web, il ont sans doute remarqué que
je me penche déja depuis un moment sur un éditeur pour le langage
python nommé python editor (soit dit en passant que je suis très tenté
de renommer visual python).
Et jusqu'ici je m'évertuais à réaliser moi-même un module d'insertion
de balises de fin de block au code python traité. Module que je ne
trouvais toujours pas satisfaisant à cause de ses piètres performences
sur les codes les plus longs.
Maintenant avec ce module, je crois que j'ai la solution à ce problème.
Certes il ne s'agit ici que d'insertion de balises à la basic du
genre "end class", "end if", end def", et pas encore de balises à la
c (fait d'accolades), mais je m'en contenterai dans un premier
temps... pourquoi pas en attendant de trouver un autre module python
qui le fait.
Je pense que Quentin pourrait être intéressé, lui qui fait en ce
momment passer le 6pad au langage de script python.
A présent, voici le code du script test.py qui m'a servi à tester ce
module pindent.py.
Début du code python
# -*- coding: utf-8 -*-
# Le script suivant a été créé pour tester
# le module pindent.py qui a pour rôle
# d'insérer ou d'enlever des balises de fin de block au code python,
# ainsi que de formatter correctement les indentations.
# Pour que ce script fonctionne, le fichier pindent.py doit être mis
# dans le même dossier que le script courant.
import os
import sys
import pindent
# on recueille le contenu du fichier exemple.py
# celui dans le code duquel on doit ajouter des balises
path = open('exemple.py','rb')
s = path.read() ## Récupération du contenu du fichier
path.close() ## Fermeture du fichier
# Instruction d'insertion de balises de fin de block
# va ajouter des balises de fin de block au code passé en paramètre
s = pindent.complete_string(s)
# Instruction de reformattage des indentations
# va ajuster les indentations suivant les balises de fin de block présents
s = pindent.reformat_string(s)
# Instruction de retrait des balises de fin de block
# va retirer les balises de fin de block dans le code passé en paramètre
# s = pindent.delete_string(s)
# affichage du résultat
print(s)
# message de fin des traitements
print("fin des traitements")
Fin du code python
Plus tard, je vous reparlerai de cet éditeur de code python que je
conçois. Je suis sûr que ses fonctionnalités intéresseront plus d'un.
Amicalement,
Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
Mon site: www.visuweb.net <http://www.visuweb.net>
--
LavaChri