2011-04-23 8 views
10

En la instalación predeterminada de cedet-1.0, la finalización solo puede rastrear los símbolos de alcance global en el archivo actual. Esto no es muy diferente de las funciones de finalización integradas (dabbrev-expand o hippie-expand).usando emacs Finalización de CEDET para python

Puede completar símbolos desde módulos importados, ni propiedades de clase. No dice que no puede manejar 'self'.

¿Es posible ajustar la semántica para hacer las cosas?

P.S. El navegador de código ECB ve con éxito todas las importaciones/clase básica y esas cosas. Es la finalización del símbolo trabajada incorrectamente o no configurada correctamente.

Respuesta

8

El soporte CEDET para cada idioma es ligeramente diferente. En el caso de python, la versión 1.0 para CEDET no se había configurado para convertir una importación de Python en un nombre de archivo. Además, 'self' es similar a 'this' en C++, que necesita ser agregado por la lógica de finalización ya que no está declarado. Estas dos características se agregaron al repositorio de bzr en enero de este año. No soy un programador de Python, pero recuerdo informes de que esto solucionó un rango de las características más básicas de la terminación inteligente para que los símbolos de las bibliotecas importadas funcionen. También había un nuevo código en bzr para las rutas del sistema python.

Por lo tanto, le recomiendo que descargue CEDET de bzr para obtener estas características y ver si ahora hace lo que esperaría para la finalización inteligente.

+1

qMax, ¿podría decir si lo probó y, de ser así, cómo le funcionó? – unhammer

+0

btw, http://stackoverflow.com/a/750912/69663 - funciona bastante bien, solo asegúrese de usar el código github, la publicación del blog está un poco desactualizada. – unhammer

Cuestiones relacionadas