IDEs Python: sugerencias ????

Daniel Ripollés Climent ripolles en aditel.org
Mie Abr 2 16:54:38 CEST 2003


On Wed, Apr 02, 2003 at 05:01:54AM -0800, Chema Cortés wrote:
> 
> > Y también tiene autocompletar para las palabras más usadas. Por ejemplo,
> > si usamos mucho una variable llamada variable_con_nombre_largo,
> escribiendo
> > las primeras letras y dándole a Alt+/ se autocompleta. Lo malo es que 
> > para sacar Alt + /  sitnes que pulsar Alt + Shift + 7 y la verdad es que
> > es bastante incómodo.
> 
> Emplea la / del teclado numérico :-)
> 
> 
> > PS: Alguien sabe como cambiar eso sin ponerse a tocar código del IDLE a
> > pelo???

Me respondo a mí mismo, aunque al final he tenido que tocar el fuente del Idle.
Explico el procedimiento por si a alguien le interesa.
Esto funciona en un Linux, en Windows debería ser muy parecido. 

- Necesitamos entrar como root, para poder modificar los fuentes del Idle.

- Abrimos Idle, y vamos a File -> Open Module... y abrimos el módulo 
  AutoExpand; alternativamente podemos editar el fichero 
  	/usr/lib/idle-python2.2/AutoExpand.py 
  (cada cual que lo haga como quiera)

- Yo he cambiado la definición del diccionario unix_keydefs como sigue:

unix_keydefs = {
        '<<expand-word>>': ['<Meta-slash>', '<Alt-slash>','<Control-space>'],
    }

Con esto he asociado las teclas Control-space al AutoExpand. Es la combinación
libre que más cómoda me ha parecido así a botepronto. He probado a modificar
el diccionario keydefs en lugar de unix_keydefs pero entonces no funcionaba
el invento. 

- Salvamos el documento, y la próxima vez que ejecutemos idle (ya como usuario
normal, no seamos animales) tendremos nuestro nuevo autocompletar para gente con
manos pequeñas :P

Yo recomendaría no cerrar el idle que tenemos corriendo como root sin haber probado
la versión modificada satisfactoriamente, por si la pifiamos. De todas maneras, yo
la he cagado un par de veces mientras probaba y el idle ha arrancado igualmente
(eso sí, dando errores).

Algunas combinaciones que he probado y funcionan son:

'<Alt+space>'
'<F2>'

Supongo que con combinaciones tipo Alt+x y cosas así debería ir, pero están 
casi todas asignadas ya.

Espero que le sirva de ayuda a alguien este pequeño hack que acabo de parir 
con esfuerzo :)

--
Daniel Ripolles ( Eru )
Make Source, Not War
for(0..pop){for($c=$_%2;$_>>=1;){$c=$_%2 .$c}print"$c\n"}




Más información sobre la lista de distribución Python-es