<分区>
您知道 eclipse 的查找所有引用文献功能(搜索 > 引用文献 > 工作区或 Ctrl-Shift-G)吗?我如何以编程方式运行它?
我有一个庞大的代码库,我需要对其进行安全违规审计,并且需要链接大约十几个条件。
是否有可以用 Java 分析大型项目(我有 1GB 的源文件)的库?以下是我需要回答的问题:
- 传入接口(interface)列表,找到这些接口(interface)的所有实现
- 在该列表中搜索对我们安全库的调用
- 搜索上面列表中引用的每个方法,以确认调用了正确的授权库。
我可以在一天内手动完成这项工作,但我宁愿花 2 时间编写一个不错的脚本来为我完成这项工作。
关于我可以用来编写这些 Eclipse 做得很好的常见任务的库的任何线索?理想情况下,我想在命令行中执行它们,这样它们就可以重复和编写脚本,但显然会尽我所能。
您可以在 IntelliJ IDEA 中编写自己的插件来完成此操作。
以编程方式,您可以利用 PSI(程序结构接口(interface))树来搜索各种代码元素(类、变量、方法、语句等),在您的代码库中导航,然后执行任何操作你需要做的。
这里有一些引用:
IntelliJ IDEA Plugin Development
PSI Cookbook
PsiViewer Plugin
您需要做的所有事情(查找实现、搜索调用、搜索特定语句的方法)都是可能的。
如果您下载 IntelliJ IDEA 社区版的源代码,您可以查看代码并了解这些事情是如何完成的。
或者您可以在此处发布具体问题(使用 intellij-plugin
标记),像 CrazyCoder 这样的人可能会帮助您解决问题:)
关于代码库的范围(你说 1 GB?),你只需要尝试一下,看看进展如何。最坏的情况是,您可以分段分析您的代码库。
无论如何,插件开发在 IntelliJ IDEA 中非常强大,我推荐这种方法用于您想要自己以编程方式控制的任何类型的 Java 代码分析或重构(并且尚未包含在开箱即用的重构中)。
祝你好运!