[Python] piccolo editor con autocompletamento del codice

Daniele Tricoli eriol a mornie.org
Mar 7 Lug 2015 22:47:48 CEST


Ciao Germano,

On Tuesday 07 July 2015 16:22:32 germano carella wrote:
> Ci ho studiato... in effetti lo posso integrare facendolo eseguire dopo 
> che ho finito di scrivere il codice.
> A me sarebbe piaciuto , però, farlo in tempo reale. Cioè, io scrivo una 
> riga, do invio e lui controlla se non ho fatto sciocchezze... :D

Beh, puoi utilizzare la funzione check_code (segue una sessione interattiva, 
purtroppo non sono a conoscenza di accorgimenti che ti rendano più agevole la 
fruizione, ti prego di darmi le giuste dritte):

>>> from flake8.main import check_code
>>> code_to_check = '''
... class A: 
... '''
>>> check_code(code_to_check)
stdin:2:9: W291 trailing whitespace
stdin:2:11: E901 SyntaxError: unexpected EOF while parsing
2

Il trailing whitespace l'ho messo di proposito. Anche concludere la 
definizione della classe senza continuare è voluta, ho pensato a cosa ti 
avrebbe tornato il checker se il controllo venisse fatto ad ogni invio.

> Però probabilmente non so cosa fanno gli editor visivi, mi spiego: 
> quando scrivete codice, lui vi colora il codice in modo che se avete 
> fatto errori, o scordato delle parentesi voi ve ne accorgete? Io so che 
> tipo visual studio lo fa, per c# e similari... ecco, questa cosa a un 
> non vedente manca, quindi quando ti dà un errore stai fresco a 
> ricontrollare tutto quello che hai scritto, per vedere se da qualche 
> parte non ci hai messo una virgoletta... :D
> Siccome però di questa cosa non sono per niente sicuro, chiedo a voi...

Penso che questa sia una questione di abitudini. Personalmente mi distrae meno 
un controllo effettuato al salvataggio. Ho configurato in questo modo vim: non 
appena viene salvato un buffer vengono eseguiti i vari check in base al 
linguaggio che sto utilizzando in quel momento. Considera che l'output ti 
fornisce le indicazioni sulla riga e la colonna, quindi questo dovrebbe 
permetterti di muoverti abbastanza velocemente sul problema. :D
Quindi credo che la soluzione migliore sia quella con cui ti troverai meglio. 
Potresti renderlo configurabile dall'utente, in modo da supportare le due 
modalità di controllo.

HTH,

-- 
 Daniele Tricoli 'Eriol'
 https://mornie.org


Maggiori informazioni sulla lista Python