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

Répondre à