78 votes

Tutoriel d'utilisation de ropemacs

Il existe de nombreux sites contenant des instructions sur installation de ropemacs, mais jusqu'à présent je n'ai pu en trouver aucune avec des instructions sur la façon de utiliser après qu'il soit déjà installé. Je l'ai installé, ou du moins il semble l'être, Emacs a le menu "Rope" dans sa barre de menu supérieure. Que faire maintenant ? Jusqu'à présent, je n'ai pu utiliser que "Show documentation" (C-c d par défaut). Une tentative d'utilisation de l'assistance au code (qui est l'auto-complétion, je présume ?) ne fait que demander à Emacs le "Rope project Root folder" (qu'est-ce que c'est ?) dans le minibuffer et ensuite ne rien montrer.

Donc, une fois ropemacs installé, quelles sont les étapes pour le voir en action sur quelques scripts python simples ? Quelque chose comme "si vous avez ce script dans votre emacs et que vous mettez le carré clignotant". aquí et appuyez sur este c'est le cas que " serait une réponse.

(Cela fait un moment que je me demande si je dois poser cette question ou non, car personne d'autre ne semble avoir le même problème).

63voto

Matthew Talbert Points 3889

Vous devez d'abord sélectionner le dossier racine de votre projet. Il s'agit tout simplement du dossier situé au niveau supérieur de votre projet, ou du dossier courant si vous traitez un seul fichier. Une fois que vous avez sélectionné le dossier racine, d'autres options sont disponibles, comme l'assistance au code, l'affichage de la documentation, le passage à d'autres symboles, etc.

Pour profiter pleinement de ropemacs, je suggère d'obtenir autocomplete.el en le plaçant dans ~/.emacs.d, puis en ajoutant ceci à votre .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)

Cela suppose que vous avez installé autocomplete dans ~/.emacs.d/auto-complete-1.2. Après avoir fait cela, vous obtiendrez automatiquement l'autocomplétion après avoir tapé quelques caractères d'un mot ou d'un symbole.

Vous pouvez modifier votre fichier Root/.ropeproject/config.py pour ajouter plus de répertoires au chemin de recherche de la corde, afin de fournir une meilleure autocomplétion.

EDIT : Deux des fonctions les plus importantes pour moi sont la recherche de documentation et le passage direct à la définition d'une fonction. Cela dépend du paramétrage correct du chemin de recherche de la corde pour votre projet, comme mentionné ci-dessus.

Documentation : Placez le curseur sur un symbole (nom de fonction, nom de classe, etc), et faites :

C-c d

Cela vous montrera la docstring pour le symbole en question.

Sauter à la définition :Placez le curseur sur un symbole (nom de fonction, nom de classe, etc.), et faites :

C-c g

Cela ouvrira immédiatement le fichier où se trouve le symbole et sautera au début de la définition. C'est idéal lorsque la documentation est rare et que vous voulez voir le code réel. C'est également très pratique pour naviguer dans votre propre code.

Trouver des occurrences :

C-c f

Recherche intelligente dans l'ensemble de votre projet du symbole qui se trouve au curseur.

Aide au code :

M-/

Il suffit de taper les premiers caractères d'une fonction, d'une classe, etc., pour obtenir une liste des compléments possibles. Notez qu'en raison de la nature de python, cette liste ne sera pas toujours complète.

Refactorings : Il y a pas mal d'options sous Rope->Refactor. Elles sont destinées à mieux organiser votre code. La façon de les utiliser devrait être assez explicite ; en général, sélectionnez la région de code que vous voulez remanier, puis choisissez la commande.

Modifier : En réponse à un commentaire ci-dessous, voici exactement comment ajouter d'autres chemins à votre chemin python afin que l'autocomplétion recherche également ces symboles.

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

Cela va dans .ropeproject/config.py

13voto

freyley Points 426

La meilleure information sur l'utilisation que j'ai trouvée est un readme dans le source de ropemacs, ici :

https://bitbucket.org/agr/ropemacs/src

10voto

Arthur Debert Points 3632

Vous pouvez définir le dossier racine avec rope-open-project . Une fois que vous avez défini le projet Root un .ropeproject sera créé.

À l'intérieur de celui-ci, un fichier config.py comporte des crochets où vous pouvez exécuter du code (python) une fois le projet défini. Le site project_opened(project): est un bon endroit pour exécuter du code. J'active généralement l'environnement virtuel imp.load_source('/path-to-env/activate_this.py') afin que je puisse obtenir la couverture des sources pour d'autres librairies dans l'environnement virtuel.

3voto

Ray Vega Points 30187

Pour une utilisation générale de la bibliothèque rope dont dépend ropemacs, consultez le site :

Aperçu des cordages

Il décrit en détail ce que fait chacun des remaniements, par exemple méthode d'extraction . Notez que selon l'auteur, cette documentation est un peu dépassée. Cependant, elle devrait fournir une introduction suffisante aux fonctionnalités de cordes pour commencer.

Pour exécuter les commandes ropemacs dans Emacs, vous pouvez essayer une ou plusieurs des méthodes suivantes :

  1. Utilisez la section 'Keybinding' dans le manuel de l'utilisateur. Lien vers la documentation README de réponse de freyley comme un guide pour apprendre les les mappings.
  2. Si vous ne vous souvenez pas des raccourcis clavier, exécutez alors M-x rope-<specific command name> et remplissez le nom du refactoring correspondant. Pour exemple, la méthode d'extraction serait M-x rope-extract-method .
  3. Sélectionner dans Emacs <menu-bar> -> Rope . Par exemple, pour la méthode d'extraction, sélectionnez ensuite <menu-bar> -> Rope -> Refactorings -> Extract Method . Il vous montrera également les combinaisons de touches associées (par ex. C-c r m )

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X