gpt4 book ai didi

java - Eclipse - 如何处理自定义项目创建

转载 作者:行者123 更新时间:2023-12-02 12:00:46 27 4
gpt4 key购买 nike

我想在我自己的 Eclipse 功能中开发功能来创建我自己的 DSL 语言的项目 - 换句话说,我想要有向导,这样我就可以单击 New > My Custom Project,然后填写向导页面中的所有必需字段,然后在执行“完成”后,我希望创建基本文件夹层次结构和模板文件,并添加我的 DSL 性质。我知道如何创建插件/功能,就像向导一样。我可以用“硬代码”创建所有内容,我的意思是创建文件夹和文件,但也许有一些内置解决方案可以促进它?我发现了 IProject 接口(interface)及其内容,这是一个很好的线索吗?

最佳答案

假设您的插件包含一个包含所有模板文件的子文件夹template,您可以将文件结构递归复制到新创建的项目中:

Bundle bundle = MyPlugin.getDefault().getBundle();
String templateFolderName = "template";
for (Enumeration entries = bundle.findEntries(templateFolderName, "*", true);
entries.hasMoreElements();) {
URL url = (URL) entries.nextElement();
String path = url.getPath();
if (!path.startsWith("/" + templateFolderName + "/"))
throw new InvocationTargetException(
new Throwable("Unknown template file: " + path));

// create folder or file (overwrite if file already exists)
String targetPath = path.substring(("/" + templateFolderName).length());
if (path.endsWith("/")) {
IFolder folder = project.getFolder(targetPath);
if (! folder.exists()) {
folder.create(false, true, null);
}
} else {
InputStream in = url.openStream();
IFile file = project.getFile(targetPath);
if (file.exists()) {
file.delete(true, null);
}
file.create(in, true, null);
}
}

(请参阅 source of the code snippet above )

例如参见 this implementation of a customized New Project wizard dialog .

关于java - Eclipse - 如何处理自定义项目创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com