2010-12-07 7 views
0

Ich benutze seit einiger Zeit ein Tool und ich mag es so sehr, dass ich es gerne als Eclipse Plugin hätte. Leider denke ich, dass es in C++ geschrieben ist. Gibt es eine Möglichkeit, eine solche Codebasis als Grundlage für ein Eclipse-Plugin zu verwenden, ohne es in Java neu schreiben zu müssen?Kann nicht-Java-Code in einem Eclipse-Plugin verwendet werden?

BTW: Das Tool ist geschlossen Quelle, kommerzielle, von jemand anderem gepflegt und müsste als GUI-Widget verwendet werden. Ich frage mich, ob es überhaupt wahrscheinlich ist, dass ich die Eigentümer dazu überreden kann.

Antwort

1

verwenden Sie könnten versuchen, Java-Wrapper für Ihre C++ Code erstellen mit SWIG (oder schlicht JNI, die zwar eine große PITA ist).

1

Im Allgemeinen ist die Integration vorhandener nativer Anwendungen und Tools in Eclipse ein großer Aufwand. Wenn Sie die Betreuer dazu bringen wollen, dies zu tun, müssen Sie sie überzeugen, warum die Portierung auf Eclipse für sie gut wäre.

Wenn jedoch eine geeignete C++ API vorhanden ist, können Sie viel selbst tun. Sie können die API unter Verwendung von SWIG umbrechen oder eine ausführbare Wrapper-Datei schreiben, die mit einigen für die Serialisierungsprotokoll kommuniziert, z. B. Google Protobuf. Dies wird jedoch nicht für die Integration der Benutzeroberfläche in Eclipse sorgen. Wenn das Tool also UI-lastig ist, wird Ihnen das wahrscheinlich nicht viel helfen.

+0

UI schwer wäre ein bisschen eine Untertreibung: http://www.scootersoftware.com/ – BCS

+0

Genau welche Art von Funktionalität möchten Sie von innerhalb von Eclipse zugreifen? Von dem, was ich sehen kann, macht Beyond Compare eine Menge Dinge, und einige von ihnen können genauso gut funktionieren, ohne sie in Eclipse zu integrieren. – JesperE

1

Je nachdem, welches Tool es ist, können Sie einige andere Optionen in Erwägung ziehen. Wenn es sich um ein Codegenerierungs- oder Übersetzungstool handelt, benötigen Sie möglicherweise nur einen benutzerdefinierten Builder, der das Tool als Teil des Buildprozesses mit Optionen und Zielen Ihrer Wahl aufrufen kann. Beispielsweise können Sie einen Visual Studio-Build als Teil einer Eclipse-Kompilierung ohne Probleme ausführen.

Oder wenn es ein grafisches Werkzeug ist, prüfen Sie, ob es sich um ein COM-Objekt handelt, das "leicht" in Java und damit in ein Eclipse-Plugin eingebunden werden kann.

Und schließlich möchte ich auch für SWIG stimmen. Dieses Zeug ist wirklich gut und macht es sehr einfach, C- oder C++ - APIs in Java einzubinden und eine Tonne JNI-Code für Sie zu generieren.