2009-04-15 10 views

Respuesta

4

Creo que usted puede estar buscando something like this. Utiliza Pymacs y python-mode para hacer justo lo que está buscando.

Háganos saber cómo funciona para usted?

+0

que poner esto en marcha, y parece que no lo hace la finalización de las variables en el ámbito local - se supone que? ¿Puede darme los pasos exactos que debe seguir una vez en emacs para activarlo si hay algo que deba hacer después de instalarlo? gracias – zak23

+0

Como se indica a continuación: M-/ejecuta el comando dabbrev-expand –

16

M-/ejecuta el comando dabbrev-expand. Esto completará los nombres locales en cualquier modo. También enlace meta f1 a hippie expandir desde todos los búferes abiertos. Esto es muy útil para mí

;; Bind hippie-expand 
(global-set-key [(meta f1)] (make-hippie-expand-function 
           '(try-expand-dabbrev-visible 
           try-expand-dabbrev 
           try-expand-dabbrev-all-buffers) t)) 

Espero que esto te sea útil.

10

La publicación de blog que describe el tipo de finalización de tabulación que desea puede encontrarse en Python code completion in Emacs. Hay un poco de instalación de paquetes, pymacs, AutoComplete, cuerda, ropemacs, modo de cuerda, yasnippet y configuración, pero al final espero que valga la pena.

+1

Me gusta ropemacs. ¡Proporciona la finalización de pestañas de las variables locales de Python! – gavenkoa

+0

auto-complete-mode vale la pena incluso sin la cuerda completa + ropemacs + ropemode + pymacs setup – unhammer

13

Uso emacs-autocomplete.el (versión 0.2.0) junto con yasnippet. Funciona bien para mí, aunque no es un entorno completo de autocompletado como eclipse + java. Pero suficiente para un hacker de emacs común como yo :)

1) Descargue autocompletar de here (primer enlace) y colóquelo en su directorio de ruta de carga. Descargue también las extensiones que desea usar (Atención: las extensiones Ruby y etags necesitan material adicional). Póngalos también en su directorio load-path.

2) Descargue yasnippet e instálelo como lo indica la instrucción en esa página (incluida la parte (requiere ...)).

3) Poner estas líneas en el fichero .emacs y editarlos para sus necesidades (como todas las extensiones que desee utilizar):

(require 'auto-complete) 
(global-auto-complete-mode t) 

(when (require 'auto-complete nil t) 
    (require 'auto-complete-yasnippet) 
    (require 'auto-complete-python) 
    (require 'auto-complete-css) 
    (require 'auto-complete-cpp) 
    (require 'auto-complete-emacs-lisp) 
    (require 'auto-complete-semantic) 
    (require 'auto-complete-gtags) 

    (global-auto-complete-mode t) 
    (setq ac-auto-start 3) 
    (setq ac-dwim t) 
    (set-default 'ac-sources '(ac-source-yasnippet ac-source-abbrev ac-source-words-in-buffer ac-source-files-in-current-dir ac-source-symbols)) 

Para más información sobre las opciones de ver el auto-complete.el archivo.

4) Reinicie emacs o haga un archivo de carga M-x con su archivo .emacs. Escriba un código y presione TAB para autocompletar.

3

Si solo quieres ponerlo en marcha con un mínimo esfuerzo, prueba el paquete emacs-for-python.

Happy coding!

4

Use Jedi!

Realmente entiende Python mejor que cualquier otra biblioteca de autocompletar:

  • órdenes internas
  • múltiples retornos o rendimientos
  • asignaciones de tupla/indexación de matrices/diccionario de indexación
  • manejo con-declaración/excepción
  • * args/** kwargs
  • decoradores/lambdas/cierres
  • generadores/iteradores
  • algunos descriptores: Vivienda/métodoestático/classmethod
  • algunos métodos mágicos: __call__, __iter__, __next__, __get__, __getitem__, __init__
  • list.append(), set.add(), lista.extend(), etc.
  • (anidados) listas por comprensión/expresiones ternarias
  • importaciones en relación
  • getattr()/__getattr__/__getattribute__
  • simples modificaciones habituales sys.path/
  • cheques isinstance porque si/mientras/valer
Cuestiones relacionadas