2010-12-07 2 views
0

J'utilise un outil depuis un moment et je l'aime tellement que j'aimerais l'avoir comme plugin eclipse. Malheureusement, je pense que c'est écrit en C++. Est-il possible qu'une telle base de code puisse être utilisée comme base pour un plugin Eclipse sans le réécrire en Java? BTW: l'outil est à source fermée, commercial, maintenu par quelqu'un d'autre et devrait être utilisé comme un widget GUI. Je me demande surtout s'il est probable que je pourrais parler aux propriétaires de faire cela.Le code non-Java peut-il être utilisé dans un plugin eclipse?

Répondre

1

Vous pouvez essayer de créer des wrappers Java pour votre code C++ en utilisant SWIG (ou JNI plaine, qui est un grand PITA bien).

1

En général, l'intégration d'applications et d'outils natifs existants dans Eclipse représente un effort majeur. Si vous voulez convaincre les mainteneurs de le faire, vous devrez les convaincre du fait que le portage vers Eclipse serait bon pour eux. Toutefois, s'il existe une API C++ appropriée, vous pouvez en faire beaucoup par vous-même. Vous pouvez envelopper l'API en utilisant SWIG, ou écrire un exécutable wrapper qui communique en utilisant certains pour du protocole de sérialisation, par exemple Google Protobuf. Cependant, cela ne prendra pas en charge l'intégration de l'interface utilisateur dans Eclipse, donc si l'outil est trop lourd, cela ne vous aidera probablement pas beaucoup.

+0

UI lourd serait un peu un euphémisme: http://www.scootersoftware.com/ – BCS

+0

Exactement à quelle sorte de fonctionnalité voulez-vous accéder à partir d'Eclipse? D'après ce que je peux voir, Beyond Compare fait beaucoup de choses, et certaines d'entre elles peuvent fonctionner aussi bien sans l'intégrer dans Eclipse. – JesperE

1

Selon l'outil utilisé, vous pouvez envisager d'autres options. S'il s'agit d'un outil de génération de code ou de traduction, il se peut que vous n'ayez besoin de rien d'autre qu'un générateur personnalisé, qui peut invoquer l'outil dans le cadre du processus de génération avec les options et les cibles de votre choix. Par exemple, vous pouvez exécuter une construction Visual Studio dans le cadre d'une compilation Eclipse sans problèmes.

Ou s'il s'agit d'un outil graphique, vérifiez s'il s'agit d'un objet COM, qui peut être "facilement" enveloppé dans Java et donc dans un plugin Eclipse.

Enfin, j'aimerais aussi voter pour SWIG. Ce truc est vraiment très bien et permet d'intégrer facilement des API C ou C++ dans Java et de générer une tonne de code JNI pour vous.

Questions connexes