Thanks Thanks:  7
Ergebnis 1 bis 5 von 5
  1. #1
    Avatar von Topfi
    Registriert seit
    05.04.2013
    Beiträge
    587
    Total Downloaded
    5,76 MB
    Total Downloaded
    5,76 MB
    ReceiverDankeAktivitäten

    Plugin-Entwicklung mit Eclipse

    Hi,

    da ich ein großer Fan von Eclipse bin, habe ich eine Möglichkeit gesucht, Eclipse auch für die E2 Plugin Entwicklung zu verwenden.
    Hier eine kurze Anleitung (für Windows, ist aber auf Linux übertragbar):

    Für Eclipse braucht man eine möglichst aktuelle JRE (Java Runtime Environment). Meist ist die auf einem aktuellen Windows Rechner bereits vorhanden, wenn nicht kann sie von hier herutergeladen und installiert werden.

    Dann Eclipse Standard von hier herunterladen und in beliebigem Verzeichnis entpacken (ich nutze die aktuelle Version 4.3.1 "Kepler" 64 Bit).
    Danach kann Eclipse schon durch einen Doppelklick auf eclipse.exe im neuen eclipse Verzeichnis gestartet werden. Beim Start wird man aufgefordert, einen Workspace auszuwählen. Das ist der Ort, in dem alle Dateien eigener Projekte abgelegt werden. Also einfach ein Verzeichnis nach Wahl angeben und OK drücken.

    Als nächstes müssen wir noch die Python Unterstützung nachinstallieren. Dazu im Menü "Help" den Menüpunkt "Install new Software" auswählen.
    Im erscheinenden Dialog dann rechts oben den "Add" Button drücken und die beiden Eingabefelder wie folgt ausfüllen:

    Name: pyDev
    Location: http://pydev.org/updates

    Plugin-Entwicklung mit Eclipse-addrepository.png

    Dann OK drücken und im folgenden Dialog PyDev/PyDev for Eclipse anhaken.

    Plugin-Entwicklung mit Eclipse-install.png

    Dann zwei mal Next drücken, die Lizenz akzeptieren und die Installation mit Finish abschließen (dauert eine kurze Weile, gegen Ende muss noch dem PyDev Zertifikat vertraut werden).
    Nach einem Neustart geht es dann an die Konfiguration:

    Dafür geht's im Hauptmenü über "Window" -"Preferences" in den passenden Dialog. Hier muss dann unter PyDev - Interpreters - Python Interpreter der entsprechende Python Interpreter ausgewählt werden. Dafür muss natürlich eine Python Installation auf dem Rechner vorhanden sein, vorzugsweise die Version, die der aktuellen Python Version auf der E2 Box entspricht (derzeit 2.7.2). Python kann hier heruntergeladen werden.

    Ist Python installiert, reicht in der Regel ein Druck auf "Quick auto-config" und alle Einträge werden automatisch vorgenommen. Wenn nicht, muss man das über "New" manuell machen.

    Plugin-Entwicklung mit Eclipse-interpreter.png

    Das war's auch schon, mit OK werden die Einstellungen übernommen. Theoretisch kann man jetzt sofort loslegen und Python codieren. Zunächst improtieren wir aber die E2 Sourcen in unseren Workspace, damit wir Eclipse optimal nutzen können.

    Dafür brauchen wir zunächst die E2 Sourcen, die besorgt man sich am geschicktesten direkt aus dem GIT (entweder über ein Tool wie TortoiseGIT oder per Download als Zip Archiv)).

    Für uns interessant ist hier alles, was sich unterhalb von enigma2\lib\python befindet. Das importieren wir in unseren Workspace:
    Wenn noch nicht geschehen, schließen wir zunächst das Welcome Fenster. Es erscheint dann links der "Package Explorer". Hier klicken wir dann mit der rechten Maustaste hinein und wählen "New" - "Other". In der erscheinenden Liste dann unter "PyDev" - "PyDev Project" auswählen und Next Drücken.

    Plugin-Entwicklung mit Eclipse-import1.png

    Hier tragen wir dann als Project name "Enigma2" ein und setzen unten den Haken bei "Create Links to existing sources".

    Plugin-Entwicklung mit Eclipse-import2.png

    Dann Next, "Add external Source Folder" und dann Euer lokales E2 Verzeichnis (s.o.) auswählen. Das sollte dann in etwa so aussehen:

    Plugin-Entwicklung mit Eclipse-import3.png

    jetzt noch Finish klicken und die Frage nach dem "Perspective" Wechsel mit Ja beantworten.

    Das war jetzt schon das schlimmste. Ihr könnt jetzt schon mit Eclipse Hilfsmitteln durch den Enigma Sourcecode browsen.

    Um ein neues Plugin anzufangen Legt Ihr im Package Explorer mit Rechter Maustaste und New ein neues PyDev Projekt an:
    Rechte Maustaste, "New" "Project "PyDev Project" und "Next":

    Plugin-Entwicklung mit Eclipse-.png

    Jetzt könnt Ihr entweder ein vorhandenes Plugin importieren (so wie wir es weiter oben bereits mit Enigma2 gemacht haben) oder ein leeres anlegen. Dafür einen Namen vergeben und unten den Haken bei "Don't configure Pyton Path" setzen.

    Plugin-Entwicklung mit Eclipse-new2.png

    Ihr erhaltet dann einen entsprechenden Ordner im Package Explorer. Auf den dann mit der rechten MAustaste Klicken und Properties wählen. Unter PyDevPYTHONPATH - External Libraries gebt ihr dann den Pfad zu eurem lokalen Enigma2 Verzeichnis an (Button: Add Source Folder).

    Plugin-Entwicklung mit Eclipse-new3.png

    Im Package explorer könnt Ihr jetzt mit Rechtsklick auf Euer neues Projekt eine neue Datei anlegen (New - File) , sinnvollerweise z.B. plugin.py.
    Wenn Ihr diese Datei dann editiert, werdet Ihr schnell die Vorteile bemerken.

    Beispiel: Setzt den Cursor in die erste Zeile und schreibt "fr". Es erscheint sofort ein Ergänzungsvorschlag "from". Den einfach mit Return übernehmen, ein Leerzeichen und "Com" schreiben und Strg+Leertaste drücken. Ihr erhaltet eine Vorschlagsliste, die u.a. Components ethält. Die wählen und einen Punkt schreiben. Ihr erhaltet eine weitere Liste. Wählt About und drückt Leertaste, es wird "import" ergänzt. Nochmal Strg + Leertaste und eine weitere Vorschlagsliste erscheint. Hier mal als Beispiel getModelString wählen. Ihr könnt jetzt direkt in die Enigma2 sources springen, indem ihr den Cursor auf getModelString setzt und F3 drückt.

    Weitere Beispiele für Eclipse Tastenkombinationen gibt es z.B. hier

    Für die alten Hasen ist das wahrscheinlich ein alter Hut, aber evtl. hilft es ja jemandem weiter und meine Beschreibung ist nicht allzu verwirrend ausgefallen.

    •   Alt Advertising

       

  2. #2
    Avatar von banu
    Registriert seit
    18.04.2013
    Ort
    Thüringer Wald
    Beiträge
    2.394
    Total Downloaded
    38,93 MB
    Total Downloaded
    38,93 MB
    ReceiverDankeAktivitäten
    Box 1:
    Edision OS Mega / OpenATV 5.3/6.0
     
     
    Box 2:
    GI XPEED LX Class S2
     
     
    Box 3:
    MEGASAT force2 /Axas E4HD
     
     
    Box 4:
    Mut@nt HD1200
     
     
    Box 5:
    Atemio 6000 / OCTAGON SF208
     
     
    Recht vielen Dank Topfi , das ist für neueinsteiger sehr hilfreich !
    Gruß Frank

  3. #3
    Avatar von Topfi
    Registriert seit
    05.04.2013
    Beiträge
    587
    Themenstarter
    Total Downloaded
    5,76 MB
    Total Downloaded
    5,76 MB
    ReceiverDankeAktivitäten
    Also mir hilft es sehr, wobei ich immer noch blutiger Anfänger bin.

    Noch ein Nachtrag:

    Im GIT fehlen ja die Funktionen, die aus dem C++ Teil von Enigma kommen, da die entsprechende Datei enigma.py erst beim System Bauen generiert wird.

    Ich hab eine halbwegs aktuell generierte Version angehängt. Damit werden dann auch die imports aus enigma korrekt aufgelöst. Die Datei gehört in die lokalen Enigma2 sourcen nach enigma2\lib\python
    Angehängte Dateien Angehängte Dateien

  4. #4
    Avatar von Thomas4711
    Registriert seit
    07.04.2013
    Ort
    OpenATV - Wien
    Beiträge
    13.166
    Total Downloaded
    51,16 MB
    Total Downloaded
    51,16 MB
    ReceiverDankeAktivitäten
    Wie schaut das aus mit Eclipse with EGit., würde das auch gehen?



  5. #5
    Avatar von Topfi
    Registriert seit
    05.04.2013
    Beiträge
    587
    Themenstarter
    Total Downloaded
    5,76 MB
    Total Downloaded
    5,76 MB
    ReceiverDankeAktivitäten
    Klar.
    Es war soweit ich mich erinnere nur etwas tricky, Eclipse davon zu überzeugen, dass es sich bei den ausgefassten Sources um ein Python Projekt handelt.
    Müsste ich mal suchen...

  6. Thanks Thomas4711 bedankten sich

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Diese Website benutzt Cookies
Wir benutzen Cookies um Sitzungsinformationen zu speichern. Dies erleichtert es uns z.B. Dich an Deine Login zu erinnern, Einstellungen der Webseite zu speichern, Inhalte und Werbung zu personalisieren, Social Media Funktionen anzubieten und unser Datenaufkommen zu analysieren. Wir teilen diese Informationen ebenfalls mit unseren Social Media-, Werbe- und Analysepartnern.
     
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.
Powered by vBulletin® Version 4.2.5 (Deutsch)
Copyright ©2017 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.
Resources saved on this page: MySQL 10,53%
Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)
vBulletin Skin By: PurevB.com