Scite Integration
Autocompletion

Damit man die Autocomplete-Funktion - die dem IntelliSense von Visual Studio ähnelt - für Python-Module nutzen kann, muss man zuerst einen Modulindex aufbauen. Mit Hilfe dieses Skriptes kann man das ganz einfach erledigen.

  1. gen_python_api.py herunterladen und ausführen

  2. die erstellte Datei python.api in ein beliebiges Verzeichnis kopieren (z.B.: /home/username/.scite/)

  3. die Scite Einstellungsdatei öffnen und folgende Zeilen einfügen:

    api.*.py=/pfad/zur/python.api
    autocompleteword.automatic=1
    autocomplete.choose.single=1
    autocomplete.python.ignorecase=0
    autocomplete.python.start.characters=.
    autocomplete.python.fillups=(
    calltip.python.ignorecase=0
    calltip.python.word.characters=._$(chars.alpha)$(chars.numeric)

Nach dem nächsten Scite Neustart wird nun bei Eingabe von beispielsweise import sys; sys. ein Dropdown Menü mit allen Möglichkeiten angezeigt.

Problembehandlung

Sollte das ausführen der gen_python_api.py mit folgender Fehlermeldung beendet werden muss das Skript angepasst werden.

>python -u "gen_python_api.py"

adding keywords ... ok

adding __builtins__ ...
Traceback (most recent call last):
  File "gen_python_api.py", line 253, in <module>
    processName(entryprefix = '', moduleprefix = '', name = builtin, ns = {})
  File "gen_python_api.py", line 85, in processName
    exec 'hasdoc = hasattr(' + moduleprefix + name + ', "__doc__")' in ns
  File "<string>", line 1
    hasdoc = hasattr(print, "__doc__")
                         ^
SyntaxError: invalid syntax
>Exit code: 1

Dies wird verursacht, da eine Funktion namens print in _ _builtin_ _ existiert. Diese muss beim erfassen der Funktionen ausgeklammert werden.

Dazu wird ab Zeile 253 der Quelltext wie folgt geändert:

   1 # __builtins__
   2 if add_builtins:
   3     print '\nadding __builtins__ ...',
   4     for builtin in dir(__builtins__):
   5         if builtin != 'print':
   6             processName(entryprefix = '', moduleprefix = '', name = builtin, ns = {})
   7     print 'ok'

Tags: Editoren | Tipps

Scite Integration/Autocompletion (last edited 2009-09-13 14:10:34 by dsl56-85)