如何让eclipse从命令行在eclipse工作台中启动程序?
具体来说,我想从shell运行一个命令,导致我的eclipse实例(已经打开)运行一个特定的程序。如果没有程序从shell中执行此操作,是否有一些eclipse提供的RPC API来制作这样的程序?
我不想制作插件。它必须是一个控制eclipse的独立过程。
答案 0 :(得分:5)
Eclipse远程控制似乎可以从Read me文件中获取技巧https://github.com/marook/eclipse-remote-control。
简介
Eclipse插件项目,它为eclipse添加了远程控制功能。 命令可以通过eclipse远程控制客户端发送到 运行eclipse实例。
我没有尝试过myslef,但是我试图弄清楚如何编写一个触发.launch文件的ant任务
答案 1 :(得分:1)
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_file
与execute_command
marook还有一篇关于如何实现更多命令http://pielmeier.blogspot.com/2010/07/implementing-new-eclipse-remote-control.html
的博客文章但众所周知,Eclipse插件的开发非常重要。
因此,我建议您使用marook插件RUN/DEBUG/PROFILE
和execute_command
。 Eclipse IDE的进一步功能可以通过 RUN
完成。写一个轻量级脚本然后通过marook插件编写Eclipse EASE script engine
,以避免Eclipse插件开发。
有关EASE的更多信息,请访问:
https://opensource.com/life/16/2/how-use-python-hack-your-ide
还有javascript脚本支持:
答案 5 :(得分:-1)
这里有一系列示例:http://www.rgagnon.com/javadetails/java-0014.html
基本上,您使用:
Runtime.getRuntime().exec(command);