我发现解决我的许多悬而未决问题的方法是在代码上运行一个 perl 脚本来执行一些很难甚至不可能用正则表达式或 musch 做的更改,比我必须挂接到 DalVik 的一些建议更简单。
所以这将是一个 self 回答的问题,如果我告诉你我是如何做到的,一步一步。我希望这会帮助人们解决他们的一些问题。
最佳答案
目标是从 Eclipse 中对我当前打开的文件运行以下命令行并刷新它以查看结果:
perl -S -pi.bak myscript.pl
我将使用外部工具配置。 本指南基于 Eclipse 3.7.1
- 打开运行 -> 外部工具 -> 外部工具配置... (或者,您可以使用角落的红色小工具箱从“运行”图标打开它)
- 选择程序
- 添加新启动配置(右上角带有小加号的第一个图标或右键单击程序 -> 新建)
- 你应该看到这个:
- 填写姓名
- 在该位置放置您要启动的工具的路径(在本例中为 perl:C:\Perl\bin\perl.exe)
- 在工作目录中选择 Variables...,${container_loc} 这是当前在 IDE 上的文件的目录
- 作为参数:-S -pi.bak ${file_prompt:Select Perl Script:D:\marcelo\Perl\bin\myscript.pl} ${container_name}
再次您不必键入 ${container_name} 或 ${file_prompt...} 您可以从变量中选择它... - 按应用
您现在应该会看到: - 转到刷新选项卡并选中完成后刷新资源,然后从选项所选资源中进行选择
- 转到Build 选项卡并取消选中Build before launch
我们完成了,现在有几个注意事项:
- 在常用标签中,您可以在添加到收藏夹菜单下选中外部工具,您的脚本将出现在外部工具子菜单中,无需必须先运行它。
- 您可能注意到还有很多其他选项,请随意尝试
- 这个例子只是修改IDE中的文件。 myscript.pl 的内容是:
next unless /Log.i/;
s/\bint\s+(\w+)/int n_$1/g;
s/\bString\s+(\w+)/String s_$1/g;
- ${file_prompt:Select Perl Script:D:\marcelo\Perl\bin\myscript.pl} 打开一个对话框,您可以在其中选择要运行的 perl 脚本。
- 如果您想始终运行相同的脚本,只需将 ${file_prompt...} 替换为脚本名称即可
我在 Eclipse 上安装了 EPIC 插件,所以我也可以编辑 perl 文件
您不受限于修改您的资源。您可以只运行从当前文件生成输出的脚本。脚本的输出,以及遇到的任何错误,都会显示在控制台
提示:在 perl 中,如果您既要写出新文件,又要为用户打印一条消息,使用 STDERR 打印消息,使用 STDOUT 打印文件。
关于Android Eclipse 使用外部工具在代码上运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10960339/