Eclipse:是否可以通过源代码"附件"编辑已知的Java源代码

sfi*_*tts 7 java eclipse jar

我正在使用Eclipse 3.4.2来开发我的代码.作为我的项目定义的一部分,我引用了一个我附加了源代码的实用程序库.到目前为止,非常好 - 当我从库中调出类并且在调试时,我可以看到该源代码.

现在,我想对其中一个类进行更改,同时仍保留Eclipse Java编辑器的所有功能(特别是工具提示和快速修复等功能).当我查看源代码时,这些功能似乎有效(例如,我可以按CTRL + LClick方法名称),但它是只读的.另一方面,我可以显式打开源文件,这将允许我编辑它,但我失去了所有"智能"编辑功能.

我最近从IntelliJ切换到Eclipse,这是可能的,所以我希望它也在Eclipse中.请注意,虽然我可以简单地将代码作为项目包含在我的工作区中,但我真的不愿意.工作区已经很大了,我不想通过添加我很少会碰到的项目来进一步降低Eclipse的速度.

Dan*_*ler 7

我不确定我的问题是对的.当您将预编译库添加到项目构建路径(JAR)并将源附加到此JAR时,Eclipse将在您单击JAR内的.class时向您显示源代码.调试器也是如此,如果使用行号信息编译JAR中的类,则调试器也允许您遍历源代码中的代码行.

现在你想要做的是修改JAR中的类(源视图只是一个覆盖,甚至可以关闭,如果你附加不同版本的源),这是不可能的,因为它们被包裹起来在JAR存档中以二进制形式存在 - 即使Eclipse足够智能以单独显示它们.

我猜你会期望你的更改被调试器热交换到正在运行的程序中.只有在完成更改后才能通过重新编译完成此操作.通常,Eclipse会在您保存Java源文件时自动执行此操作.但是,由于源文件不是工作空间的一部分(或显式声明为Java源的外部文件夹),因此不会重新编译和交换.

我建议将外部库的源代码包含在Eclipse中作为项目,而不要过多担心性能 - 我每天使用3.4.2并且我的工作区有大约45个打开的项目,有几个10.000类和数百万行码.我为Eclipse VM分配了一千兆字节的RAM,并且在Core2Duo 2.6GHz机器上没有任何问题.