[英]How can I extend the IntelliJ IDEA CE code evaluation feature?
我正在使用IntelliJ IDEA社区版10来开发Java SE项目。
我的应用程序启动需要很长时间,因此,我调试代码的首选方法是启动->在断点处停止->打开代码评估窗口->输入一些代码,然后查看返回的代码。
但是,当我的代码返回对象的大型数组/集合时,就会出现问题。 我想要的是按字段值或其他条件过滤对象。
我可以使用Apache Commons Collections或Google Guava进行过滤,但是IntelliJ IDEA的代码评估不允许即时创建匿名类,而我需要定义谓词。
我也可以使用lambdaJ ,但是庞大的集合中的对象类被声明为final(并且我无法更改),因此lambdaJ无法扩展这些类的操作。
我也尝试使用BeanShell ,但它要求我将代码作为字符串传递,这会杀死IDEA的代码完成功能。 同样,bsh不能在正在调试的进程内使用局部变量。 最后,我每次必须指定完整的类名。
谁能帮助找到解决该问题的方法? 扩展IntelliJ IDEA的代码评估以支持匿名类可能是一种神奇的方法,或者是一种在这种情况下可用的筛选集合的另一种方法。
您仍然可以通过使用自己的Converters,Aggregator和Matchers扩展lambdaj的功能,如下所述:
您可以编写自己的方法来按需要过滤结果。 只要在开始调试之前就对它们进行了编译,就可以在评估中使用它们。 例如
MyFilter.filter(result()).from(1).to(10) // etc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.