如何让eclipse从命令行在eclipse工作台中启动一个程序?

时间:2011-08-23 13:45:54

标签: eclipse

如何让eclipse从命令行在eclipse工作台中启动程序?

具体来说,我想从shell运行一个命令,导致我的eclipse实例(已经打开)运行一个特定的程序。如果没有程序从shell中执行此操作,是否有一些eclipse提供的RPC API来制作这样的程序?

我不想制作插件。它必须是一个控制eclipse的独立过程。

6 个答案:

答案 0 :(得分:5)

Eclipse远程控制似乎可以从Read me文件中获取技巧https://github.com/marook/eclipse-remote-control

  

简介

     

Eclipse插件项目,它为eclipse添加了远程控制功能。   命令可以通过eclipse远程控制客户端发送到   运行eclipse实例。

我没有尝试过myslef,但是我试图弄清楚如何编写一个触发.launch文件的ant任务

答案 1 :(得分:1)

查看Product Configuration

1º创建一个新的产品配置(Ctrl + N),然后在向导的第一页上选择“使用启动配置”(或其他选项,如果它更方便)。
2º在导出部分,您应该能够使用“Eclipse产品导出向导”导出产品 3º要运行产品,请按this instructions

希望它有所帮助。

答案 2 :(得分:1)


首先创建批处理文件并将其保存在某个位置。
例如,如果我想调用记事本,我将在批处理中写入如下
开始记事本
在eclipse中,您可以配置外部工具。  
Goto Run - >外部工具 - >外部工具配置。
您将看到一个对话框。
现在单击“新配置”图标 在窗口的右窗格中,您可以指定配置名称 在“位置文本框”中,单击“浏览文件系统”按钮,然后选择之前创建的批处理文件
在Common选项卡中,取消选中“Launch In Background” 您可以通过单击“常用”选项卡下的“外部工具”复选框,在“收藏夹”菜单中设置此配置 单击“应用”
现在您可以运行所需的应用程序了。
这仅适用于Windows。
我对 Linux机器没有任何想法。

答案 3 :(得分:0)

不是一个完整的答案,但这里有一些我在Eclipse中遇到过的事情:

通常,您可以使用以下命令从命令行打开Eclipse:

java -Dosgi.requiredJavaVersion=1.5 -Dhelp.lucene.tokenizer=standard -Xms40m -Xmx512m -XX:MaxPermSize=256m -cp plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar org.eclipse.core.launcher.Main

主启动器采用-application标记,您可以传递我认为的插件(不确定)。我通常用这个在Eclipse中运行Ant:

java -Dosgi.requiredJavaVersion=1.5 -Dhelp.lucene.tokenizer=standard -Xms40m -Xmx512m -XX:MaxPermSize=256m -cp plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar org.eclipse.core.launcher.Main -application org.eclipse.ant.core.antRunner -buildfile build.xml

我不知道如何操作正在运行的Eclipse实例,我不知道你是否可以通过Ant脚本实现目标,但我认为这些可能是富有成效的途径。

答案 4 :(得分:0)

除了ams'回答,marook的插件只支持很少的命令。

use webClient = new WebClient() let lockObj = new Object() let mutable firstProgressEvent = true let onProgress (progressEventArgs: DownloadProgressChangedEventArgs) = lock lockObj (fun _-> if (firstProgressEvent) then let totalSizeInMB = progressEventArgs.TotalBytesToReceive / 1000000L Console.WriteLine ("Starting download of {0}MB...", totalSizeInMB) firstProgressEvent <- false ) webClient.DownloadProgressChanged.Subscribe onProgress |> ignore let task = webClient.DownloadFileTaskAsync (uri, Path.GetFileName(uri.LocalPath)) task.Wait() open_fileexecute_command

marook还有一篇关于如何实现更多命令http://pielmeier.blogspot.com/2010/07/implementing-new-eclipse-remote-control.html

的博客文章

但众所周知,Eclipse插件的开发非常重要。

因此,我建议您使用marook插件RUN/DEBUG/PROFILEexecute_command。 Eclipse IDE的进一步功能可以通过 RUN 完成。写一个轻量级脚本然后通过marook插件编写Eclipse EASE script engine,以避免Eclipse插件开发。

有关EASE的更多信息,请访问:

https://opensource.com/life/16/2/how-use-python-hack-your-ide

还有javascript脚本支持:

https://git.eclipse.org/c/ease/org.eclipse.ease.scripts.git/tree/JavaScript%20Beginner%20Tutorial/02%20File%20IO/05%20Create%20sample%20project%20(using%20modules).js

答案 5 :(得分:-1)

这里有一系列示例:http://www.rgagnon.com/javadetails/java-0014.html

基本上,您使用:

Runtime.getRuntime().exec(command);
相关问题