[Python] piccolo editor con autocompletamento del codice

germano carella germano.carella a gmail.com
Mar 7 Lug 2015 23:03:24 CEST



Il 07/07/2015 22:47, Daniele Tricoli ha scritto:
> 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
> è perfetto!

> 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.
> Esatto, è proprio quello che voglio fare...
Farò in modo che sia l'utente a decidere se vuole che il codice che sta 
scrivendo venga analizzato on-the-fly oppure al salvataggio o 
all'esecuzione.

Ti ringrazio tantissimo per le dritte, l'utilizzo di code.compiler si è 
rivelato fallace, perché non è in grado di rilevare, ad esempio, se ho 
sbagliato l'attributo di un oggetto.

> Grazie ancora tantissimo!

> HTH,
>



Maggiori informazioni sulla lista Python