non siete completamente pazzo.
python-mode
può integrare con eldoc-mode
per visualizzare l'argomento arg della funzione che si sta chiamando al punto. Basta fare M-x eldoc-mode
mentre si è in un file python per accenderlo e dovrebbe iniziare a funzionare. Parla con un buffer python inferiore per ispezionare direttamente le funzioni, quindi dovrebbe sempre essere decentemente accurato. È possibile accenderlo automaticamente per tutti i nuovi buffer python-mode
con (add-hook 'python-mode-hook '(lambda() (eldoc-mode 1)) t)
nel file di avvio di emacs. Ora, a questo punto, devo dire che non eseguo alcuna normale programmazione Python, e che quando l'ho provato ora non ha funzionato. Ho trascorso alcuni minuti a frugare nel codice sorgente e tutto sembra essere a posto, ma il codice che viene eseguito nel processo inferiore sta restituendo una stringa vuota. Forse è solo la mia configurazione, o forse sto leggendo i file sorgente errati; è difficile da dire.
Emacs offre diversi tipi di espansione/completamento automatico. Per impostazione predefinita si ha accesso a dabbrev-expand
premendo M-/
. Questa è una forma abbastanza semplice di completamento; serve solo a lavorare su qualsiasi vecchio file che hai modificato. Più sofisticato è hippie-expand
, ma anche questo non fa nulla di specifico per Python. La documentazione dice che può essere integrata con hippie-expand
per i completamenti esatti, ma questa potrebbe essere una bugia; Non riuscivo a capire come funziona. Un po 'di curiosità mostra diverse soluzioni correlate per questo, che sembrano fare affidamento su pymacs
. Se avessi intenzione di fare un sacco di programmi python e non avessi già un emacs abbastanza complicato, probabilmente inizierei installando emacs-for-python. Sembra essere una configurazione abbastanza completa, e afferma persino di avere un avviso di avviso/rilevamento in tempo reale.
Nello spirito di aiutare gli altri ad aiutare se stessi, vorrei sottolineare come sono arrivato a tutte queste informazioni. Il mio primo passo è stato aprire un file in python-mode
. In realtà non avevo alcun codice python disponibile, quindi sono passato al mio scratch buffer e ne sono diventato un buffer python (M-x python-mode
). Quindi ho chiesto aiuto su questa strana nuova modalità (C-h m
) per vedere cosa poteva fare. L'autore ha gentilmente messo un breve riassunto di ciò che la modalità può fare che menziona eldoc-mode
, Imenu, outline-mode
, hippie-expand
, rlcompleter, abbrev tabelle e un sacco di altre cose. Da lì ho iniziato a guardare il codice sorgente. Ad esempio, per integrarsi con eldoc-mode, definisce una funzione chiamata python-eldoc-function
e la fornisce al modulo eldoc per l'uso nei buffer python. Leggendo quel codice mi mostra come interagisce con il buffer inferiore, ecc.
Spero che un po 'di questo aiuti.
Grazie mille per questo. La sperimentazione iniziale suggerisce che questo funziona, mi occuperò di emacs-for-python quando arriverò al laboratorio tra un po '. –
Prego :) – db48x
@ db48x Un'altra ottima risposta. Mi piace il taglio del tuo gib. –