elpy - Emacs-tabulación de variables locales de Python
elpy emacs (6)
¡Usa Jedi !
Realmente entiende Python mejor que cualquier otra biblioteca de autocompletado:
- construidos
- Múltiples retornos o rendimientos.
- Asignaciones de tuplas / indexación de matrices / indexación de diccionarios
- con declaración / manejo de excepciones
- * args / ** kwargs
- decoradores / lambdas / cierres
- generadores / iteradores
- algunos descriptores: propiedad / staticmethod / classmethod
- algunos métodos mágicos:
__call__
,__iter__
,__next__
,__get__
,__getitem__
,__init__
- list.append (), set.add (), list.extend (), etc.
- (anidado) lista de comprensión / expresiones ternarias
- importaciones relativas
- getattr () /
__getattr__
/__getattribute__
- Modificaciones de sys.path simples / usuales
- isinstance comprueba si / while / assert
¿Hay un buen modo de emacs que permita completar las pestañas de las variables locales de python? Configuré ipython.el pero solo completará con tabulación las cosas en el alcance del intérprete. Estoy buscando algo que me permita usar fichas con tabulación completa en el espacio de nombres local de una función o archivo.
Creo que puedes estar buscando algo como esto . Utiliza Pymacs y python-mode para hacer lo que estás buscando.
Háganos saber cómo funciona para usted?
La publicación del blog que describe el tipo de finalización de pestaña que desea se puede encontrar al completar el código Python en Emacs . Hay un poco de paquetes de instalación, pymacs, here , soga, ropemacs, modo soga, yasnippet y configuración, pero al final espero que valga la pena.
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 buffers 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 sea útil.
Si solo quieres ponerlo en funcionamiento sin problemas, prueba el paquete emacs-for-python .
¡Feliz codificación!
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 emacs común como yo :)
1) Descargue el autocompletado desde here (primer enlace) y póngalo en su directorio de ruta de carga. También descargue las extensiones que desea usar (Atención: las extensiones Ruby y etags necesitan cosas adicionales). Póngalos también en su directorio de ruta de carga.
2) Descargue yasnippet e instálelo como dice la instrucción en esa página (incluida la parte (requiere ...) parte).
3) Coloque estas líneas en su archivo .emacs y edítelas según sus necesidades (como todas las extensiones que desea usar):
(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 obtener más información sobre las opciones, consulte el archivo auto-complete.el.
4) Reinicie emacs o haga un archivo de carga Mx con su archivo .emacs. Escriba un código y presione TAB para completar automáticamente.