Emacs: Eclipse-artige Autovervollständigung
-
Hallo,
kann man in Emacs eine zu Eclipse vergleichbare Autovervollständigung einstellen? Ich persönlich benötige das für Python, und die *.el-s die ich probiert habe sind sehr suboptimal, oder komplette hacks. Was für mich am ehesten herankommt ist, ipython in einem Prozess zu starten und dessen Autocompletion/Inline-Dokumentation von Objekten zu nutzen. Aber das kommt von der Bequemlichkeit natürlich nicht an Eclipse/PyDev heran. Das braucht kaum Zeit zum Parsen und bietet für alles mögliche sehr gute Vervollständigungstipps an.
Und die default-Vervollständigung scheint mir nur die aktuelle Datei zu analysieren und aus den vorhandenen Bezeichnern Vorschläge erstellen.
-
Umberto schrieb:
kann man in Emacs eine zu Eclipse vergleichbare Autovervollständigung einstellen?
Hm. Emacs ist Open Source, und dazu gibts noch elisp für Plugins - mit etwas Aufwand kann man da mit sicherheit was für schreiben
-
pumuckl schrieb:
Umberto schrieb:
kann man in Emacs eine zu Eclipse vergleichbare Autovervollständigung einstellen?
Hm. Emacs ist Open Source, und dazu gibts noch elisp für Plugins - mit etwas Aufwand kann man da mit sicherheit was für schreiben
ajo....
Eclipse ist aber auch Open Source, und da geht's out-of-the box. Aber wenn sich hier nichts vernünftiges findet überlege ich mir mal, ob ich wirklich ein Projekt starte.
-
http://www.emacswiki.org/emacs/PythonProgrammingInEmacs
http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/
http://gabrielelanaro.github.com/emacs-for-python/
-
okay, es scheint zu funktionieren, aber nicht ganz:
(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) ;;(eval-after-load "pymacs" ;; '(add-to-list 'pymacs-load-path YOUR-PYMACS-DIRECTORY")) (require 'pymacs) (pymacs-load "ropemacs" "rope-") (require 'auto-complete-config) (ac-ropemacs-initialize) (add-hook 'python-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-ropemacs))) (global-auto-complete-mode t)
wenn ich jetzt code eintippe, dann gibt mir C-/ semantische Vervollständigung in einem zweiten Fenster; Auto-complete klappt ein Fenster auf, aber die Vorschläge kommen nur aus der zur Zeit geöffneten Datei, also nicht aus ropemacs
ich@meinrechner:$ dpkg -s auto-complete-el | grep Version Version: 1.3.1-1 ich@meinrechner:$ dpkg -s python-ropemacs | grep Version Version: 0.6c2-4 Python-Version: >=2.5
-
okay, das problem ist, dass die variable ac-sources nicht geändert wird, obwohl der python-mode-hook das explizit wünscht... (ich lasse sie mir in einem python-buffer mit describe-variable ausgeben)
even more
-
Umberto schrieb:
okay, das problem ist, dass die variable ac-sources nicht geändert wird, obwohl der python-mode-hook das explizit wünscht... (ich lasse sie mir in einem python-buffer mit describe-variable ausgeben)
even more
forget that, jetzt wird es richtig gesetzt, aber trotzdem nur auf buffer-keywords-basierende Vervollständigungen...
hat jemand ein funktionierendes Setup und kann seine .emacs zeigen?
-
rüdiger schrieb:
http://www.emacswiki.org/emacs/PythonProgrammingInEmacs
http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/
http://gabrielelanaro.github.com/emacs-for-python/Der letzte link funktioniert