ropemacs GEBRUIKSINFORMATIE

Er zijn veel sites met instructies over het installerenvan ropemacs, maar tot nu toe heb ik er geen kunnen vinden met instructies voor het gebruikennadat het al is geïnstalleerd. Ik heb het geïnstalleerd, of dat lijkt tenminste zo, Emacs heeft het “Rope” menu in de bovenste menubalk. Wat nu? Tot nu toe kon ik alleen “Toon documentatie” gebruiken (standaard C-c d). Een poging om code-assistentie te gebruiken (wat automatisch aanvullen is, neem ik aan?) zorgt er alleen voor dat Emacs vraagt ​​naar “Rope project root folder” (wat is dat?) in de minibuffer en vervolgens niets laat zien.

Dus, als ropemacs eenmaal is geïnstalleerd, wat zijn dan de stappen om het in actie te zien op enkele eenvoudige python-scripts? Iets als “als je dit script in je emacs hebt en het knipperende vierkant hierplaatst en op ditdrukt, doet het dat” zou een antwoord zijn .

(Ik twijfel al een tijdje of ik dit moet vragen of niet, omdat niemand anders hetzelfde probleem lijkt te hebben)


Antwoord 1, autoriteit 100%

Nou, je moet eerst de hoofdmap van je project selecteren. Heel eenvoudig, dit is de map op het hoogste niveau van uw project, of de huidige map als u te maken hebt met een enkel bestand. Als je eenmaal de hoofdmap hebt geselecteerd, werken andere opties, zoals codehulp, documentatie tonen, naar andere symbolen springen, enz.

Om volledig te profiteren van ropemacs, raad ik aan om autocomplete.elte gebruiken, door het in ~ /.emacs.d, en voeg dit toe aan je .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)

Dit veronderstelt dat je autocomplete installeert in ~/.emacs.d/auto-complete-1.2. Nadat je dit hebt gedaan, krijg je automatisch automatisch aanvullen na het typen van een paar tekens van een woord of symbool.

Je kunt je ROOT/.ropeproject/config.py-bestand wijzigen om meer mappen toe te voegen aan het touw-opzoekpad, om zo een betere autocomplete te bieden.

EDIT: Twee van de belangrijkste functies voor mij zijn het opzoeken van documentatie en direct naar een functiedefinitie springen. Dit is afhankelijk van het correct instellen van het touw-opzoekpad voor uw project, zoals hierboven vermeld.

Documentatie: plaats de cursor op een symbool (functienaam, klassenaam, enz.) en doe:

C-c d

Hiermee ziet u de docstring voor het betreffende symbool.

Naar de definitie springen: plaats de cursor op een symbool (functienaam, klassenaam, enz.) en doe:

C-c g

Hierdoor wordt onmiddellijk het bestand geopend waarin het symbool zich bevindt en springt u naar het begin van de definitie. Dit is geweldig voor momenten waarop de documentatie schaars is en u de daadwerkelijke code wilt zien. Het is ook erg leuk om door je eigen code te navigeren.

Voorvallen zoeken:

C-c f

Slim zoeken in uw hele project naar het symbool bij de cursor.

Codehulp:

M-/

Typ gewoon de eerste tekens van een functie, klasse, enz., en dit toont een lijst met mogelijke aanvullingen. Houd er rekening mee dat vanwege de aard van python het niet altijd een volledige lijst zal zijn.

Refactoren:
Er zijn nogal wat opties onder Rope->Refactor. Deze zijn bedoeld om uw code beter te organiseren. Hoe ze te gebruiken, zou grotendeels vanzelfsprekend moeten zijn; selecteer in het algemeen de regio van de code die u wilt refactoren en kies vervolgens de opdracht.

Bewerken:
In reactie op een opmerking hieronder, hier is precies hoe u andere paden aan uw python-pad kunt toevoegen, zodat automatisch aanvullen ook naar die symbolen zal zoeken.

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

Dit gaat in .ropeproject/config.py


Antwoord 2, autoriteit 21%

De beste gebruiksinformatie die ik heb gevonden is een leesmij-bestand in de ropemacs-bron, hier:

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


Antwoord 3, autoriteit 16%

Je kunt de hoofdmap instellen met rope-open-project. Zodra je het root-project hebt ingesteld, wordt er een .ropeproject-map gemaakt.

Daarin heeft een config.py-bestand haken waar u (python)code kunt uitvoeren zodra het project is ingesteld. De functie project_opened(project):is een goede plek om code uit te voeren. Ik activeer meestal de virtuele omgeving imp.load_source('/path-to-env/activate_this.py'), zodat ik brondekking kan krijgen voor andere bibliotheken in de virtuele omgeving.


Antwoord 4, autoriteit 5%

Voor algemeen gebruik van de touwbibliotheek waarvan ropemacs afhankelijk is, ga naar:

Touwoverzicht

Het beschrijft in enig detail wat elk van de refactorings doet, zoals de extractiemethode. Merk op dat dit document volgens de auteur een beetje achterhaald is. Het zou echter voldoende introductie moeten bieden voor de functies van ropes om aan de slag te gaan.

Om de ropemacs-commando’s in Emacs uit te voeren, kun je een of meer van de volgende dingen proberen:

  1. Gebruik het gedeelte ‘Keybinding’ in de
    LEES MIJ docs-linkvan
    freyley’s antwoordals een gids om de
    de plattegronden.
  2. Als je de sneltoetsen niet meer weet, voer dan M-x rope-<specific command name>uit en vul de
    gerelateerde refactoringnaam. Voor
    extractiemethode zou bijvoorbeeld zijn:
    M-x rope-extract-method.
  3. Selecteer in Emacs <menu-bar> -> Rope. Selecteer bijvoorbeeld voor de extractiemethode <menu-bar> -> Rope -> Refactorings -> Extract Method. Het toont u ook de bijbehorende sneltoetsen (bijv. C-c r m)

Other episodes