2011-05-30 14 views
15

Actualmente estoy usando https://github.com/fgallina/python.el + ropemacs, pero me falta el navegador de módulo: memoria intermedia separada que describe los nombres definidos en el módulo actual (lista de clases con sus métodos). Google dice que hay OO-browser y emacs-code-browser, pero parecen obsoletos y no puedo encontrar ninguna mención sobre este libs en ninguno de los populares emacs + tutoriales de python. ¿Qué debería usar para lograr una navegación fácil a través del módulo?Emacs para la programación de Python: módulo/clase esquema/navegador

Respuesta

2

M-x barra de velocidad puede conseguir lo que quiere.

+3

Aparece una lista de archivos en el directorio actual que se muestra en la barra de velocidad, pero quiero una lista de nombres definidos (clases, funciones) en el archivo actual. –

+1

Supongo que tiene razón, realmente necesito M + x barra de velocidad y M + x imenu, pero no puedo hacerlo funcionar ... –

+0

@VladimirMihailenco Al presionar espacio en los nombres de los archivos se expanden los símbolos en ese archivo. – xuhdev

8

Creo que ECB (Emacs Code Browser) vale la pena intentarlo. No lo uso todo el tiempo, pero puede ser muy útil. Especialmente útil es la ventana "Métodos ECB" que muestra un resumen de todos los miembros de un módulo.

Aquí hay una captura de pantalla con la ventana de Métodos de ECB en la esquina inferior izquierda: http://dev.pocoo.org/~gbrandl/emacs2.png.

Véase también http://www.emacswiki.org/emacs/EmacsCodeBrowser.

+0

Gracias, lo intentaré si no me funciona el imenu. –

+1

¿Podría mostrar un ejemplo de cómo configurar el ECB de esta manera? –

+0

Pude hacer que ECB trabaje con Emacs 24 recientemente, siguiendo las instrucciones aquí: https://github.com/alexott/ecb/tree/new-cedet. El proyecto de SourceForge no se ha actualizado en mucho tiempo, pero creo que la documentación de personalización del diseño está bastante bien (http://ecb.sourceforge.net/docs/Changing-the-ECB_002dlayout.html#Changing-the-ECB_002dlayout). – mzjn

4

Tal vez occur puede ser útil en este caso. Por ejemplo, si desea enumerar las funciones definidas: M-x occur RET def RET debe visitar un búfer donde se enumeran los def.

+0

Una gran recomendación simple que funciona en un apuro. – emish

+2

Muy bien, de hecho, esto funciona muy bien para Python: '' M-x ocurre RET def \ b \ | clase \ b \ | = []? Lambda RET'' –