我目前正在开发一个Eclipse插件,它将一些自定义Java代码(不一定是运行/编译)转换为可运行的Java代码。特别是,插件允许使用在翻译期间创建或导入的类来编写代码。通常,只要作者在其类文件的顶部使用import
语句,预翻译代码就可以运行/编译。但是,如果没有必要导入这些类,对我的用户来说会很方便。目前,缺少import
语句会导致(明显的)编译器错误。是否可以授权我的插件a)抑制/忽略这些错误,或者b)让Eclipse自动找到这些类,而不使用import
语句?我应该指出,翻译过的代码会包括所需的import
语句 - 但这对我来说不是问题。我也知道这可能导致懒惰的程序员和一些坏习惯。
为了澄清,请考虑以下预翻译代码示例:
File f = new File("Somefilename.txt");
显然需要可能导入的类File
。如果没有import语句(import java.io.File;
),Eclipse会报告File
无法解析为某种类型。这是我想隐藏在与为我的插件一起使用而创建的项目的文件中的错误。 (翻译的代码将包含import java.io.File;
,以便它可以运行)
最后,我应该指出我不一定在寻找代码(虽然我不会反对它),而是一些相关教程的链接(如果它们存在),或者有用的提示/想法。另外,由于这是我的第一个插件,完全有可能我想做的事情是不可能的,而且我没有意识到 - 如果是这种情况,请告诉我,最好有一些理由
谢谢!
答案 0 :(得分:0)
您当然可以使用ICompilationUnit
以编程方式创建导入,但如果这不是一个选项,您可能能够提供一个自定义类路径容器,该容器使用默认包提供您要插入的类或目标包。 (显然,这是一个非常绝望的措施。)
答案 1 :(得分:0)
您还可以为非编译Java语言构建自定义编辑器,并且您的插件可以具有转换为编译Java的构建器。