tutorial de ropemacs USAGE

Hay muchos sitios con instrucciones para instalar ropemacs, pero hasta ahora no pude encontrar ninguno con instrucciones sobre cómo usarlo después de que ya está instalado. Lo tengo instalado, o al menos así parece, Emacs tiene el menú “Cuerda” en su barra de menú superior. ¿Ahora que? Hasta ahora solo podía usar “Mostrar documentación” (Cc d por defecto). Un bash de usar la ayuda de código (que se completa automáticamente, ¿supongo?) Solo hace que Emacs pregunte sobre “Carpeta raíz del proyecto de cuerda” (¿qué es eso?) En el minibúfer y luego no muestra nada.

Entonces, una vez que se instala ropemacs, ¿cuáles son los pasos para verlo en acción en algunos scripts de Python simples? Algo así como “si tienes este script en tus emacs y pones el cuadrado parpadeante aquí y presionas esto , hace que ” sería una respuesta.

(He estado pensando si debería preguntar esto o no durante algún tiempo, porque nadie más parece tener el mismo problema)

Bueno, primero debes seleccionar la carpeta raíz de tu proyecto. Sencillamente, esta es la carpeta en el nivel superior de su proyecto, o la carpeta actual si está tratando con un solo archivo. Una vez que haya seleccionado la carpeta raíz, funcionarán otras opciones, como la asistencia de código, mostrar documentación, saltar a otros símbolos, etc.

Para obtener el máximo beneficio de ropemacs, sugiero obtener autocomplete.el , ponerlo en ~ / .emacs.d y luego agregarlo a su .emacs

(add-to-list 'load-path "~/.emacs.d/") (add-to-list 'load-path "~/.emacs.d/auto-complete-1.2") (autoload 'python-mode "python-mode" "Python Mode." t) (add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode)) (add-to-list 'interpreter-mode-alist '("python" . python-mode)) (require 'python-mode) (autoload 'pymacs-apply "pymacs") (autoload 'pymacs-call "pymacs") (autoload 'pymacs-eval "pymacs" nil t) (autoload 'pymacs-exec "pymacs" nil t) (autoload 'pymacs-load "pymacs" nil t) (pymacs-load "ropemacs" "rope-") (setq ropemacs-enable-autoimport t) (require 'auto-complete) (global-auto-complete-mode t) 

Esto supone que instala autocompletar en ~ / .emacs.d / auto-complete-1.2. Después de hacer esto, se autocompletará automáticamente después de escribir algunos caracteres de una palabra o símbolo.

Puede modificar su archivo ROOT / .ropeproject / config.py para agregar más directorios a la ruta de búsqueda de cuerda, a fin de proporcionar un mejor autocompletado.

EDITAR: Dos de las funciones más importantes para mí son buscar documentación y saltar directamente a una definición de función. Esto depende de configurar la ruta de búsqueda de la cuerda correctamente para su proyecto como se mencionó anteriormente.

Documentación : coloque el cursor sobre un símbolo (nombre de la función, nombre de la clase, etc.) y haga lo siguiente:

 Cc d 

Esto le mostrará la cadena de documentación para el símbolo en cuestión.

Saltar a la definición : coloque el cursor sobre un símbolo (nombre de la función, nombre de la clase, etc.) y haga:

 Cc g 

Esto abrirá inmediatamente el archivo donde reside el símbolo y saltará al principio de la definición. Esto es ideal para los momentos en que la documentación es escasa y desea ver el código real. Además, es realmente bueno para navegar dentro de tu propio código.

Encontrar ocurrencias :

 Cc f 

Búsqueda inteligente en todo su proyecto para el símbolo en el cursor.

Código de asistencia :

 M-/ 

Simplemente escriba los primeros caracteres de una función, clase, etc., y esto mostrará una lista de posibles terminaciones. Tenga en cuenta que debido a la naturaleza de Python, no siempre será una lista completa.

Refactorizaciones : hay bastantes opciones en Rope-> Refactor. Estos son para organizar mejor su código. Cómo usarlos debería ser mayormente autoexplicativo; en general, seleccione la región del código que desea refactorizar, luego elija el comando.

Edición : En respuesta a un comentario a continuación, aquí se explica exactamente cómo agregar otras rutas a la ruta de Python para que el autocompletar busque esos símbolos también.

 prefs.add('python_path', '~/path/to/virtualenv/lib/python2.6/site-packages') 

Esto va en .ropeproject/config.py

La mejor información de uso que he encontrado es un archivo Léame en la fuente de ropemacs, aquí:

https://github.com/python-rope/ropemacs

Puede configurar la carpeta raíz con rope-open-project . Una vez que haya configurado el proyecto raíz, se .ropeproject un directorio .ropeproject .

Dentro de él, un archivo config.py tiene enlaces en los que puede ejecutar código (python) una vez que se establece el proyecto. La función project_opened(project): es un buen lugar para ejecutar código. Por lo general, activo el entorno virtual imp.load_source('/path-to-env/activate_this.py') , para que pueda obtener cobertura de origen para otras librerías en el entorno virtual.

Para el uso general de la biblioteca de cuerdas de la que depende ropemacs, consulte:

Visión general de la cuerda

Describe con algún detalle lo que hace cada una de las refactorizaciones, como el método de extracción . Tenga en cuenta que, según el autor, este documento está un poco desactualizado. Sin embargo, debe proporcionar suficiente introducción a las funciones de cuerdas para comenzar.

Para ejecutar los comandos de ropemacs en Emacs, puedes probar uno o más de los siguientes:

  1. Use la sección “Encuadernación de teclas” en el enlace README docs de la respuesta de freyley como guía para conocer las asignaciones.
  2. Si no puede recordar las combinaciones de teclas, ejecute Mx rope- y complete el nombre de refactorización relacionado. Por ejemplo, el método de extracción sería Mx rope-extract-method .
  3. Seleccione en Emacs -> Rope . Por ejemplo, para el método de extracción, seleccione -> Rope -> Refactorings -> Extract Method . También le mostrará las combinaciones de teclas asociadas (por ejemplo, Cc rm )