【问题标题】:Custom new project wizard with Xtext使用 Xtext 自定义新项目向导
【发布时间】:2018-07-27 13:15:36
【问题描述】:

我使用 Xtext (Eclipse: Oxygen.2 Release (4.7.2), Xtext: 2.12.0.v20170519-1412)。我从标准示例org.xtext.example.mydsl 开始。现在我想在 Eclipse 中为我的 DSL 提供一个向导(如文件 → 新建 → 项目...)。我该怎么做呢?我通过谷歌搜索发现我需要将此部分添加到我的 MWE2 工作流程中:

newProjectWizardForEclipse = {
            generate = true
         }

我这样做了,我还得到了生成的包org.xtext.example.mydsl.ui.wizard 和源文件MyDslProjectInfo.javaMyDslWizardNewProjectCreationPage.javaMyDslNewProjectWizardInitialContents.xtend。但是,如果我为 MyDsl 启动新的 Eclipse 运行时实例,我自己的向导没有选项(但其他事情按预期工作,即我可以手动创建一个新的 *.mydsl 文件,并且根据我的语法等正确处理它。 )

我做错了什么或者我误解了什么?这是我完整的.mwe2 文件。

module org.xtext.example.mydsl.GenerateMyDsl

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."

Workflow {

    component = XtextGenerator {
        configuration = {
            project = StandardProjectConfig {
                baseName = "org.xtext.example.mydsl"
                rootPath = rootPath
                runtimeTest = {
                    enabled = true
                }
                eclipsePlugin = {
                    enabled = true
                }
                eclipsePluginTest = {
                    enabled = true
                }
                createEclipseMetaData = true
            }
            code = {
                encoding = "windows-1252"
                lineDelimiter = "\r\n"
                fileHeader = "/*\n * generated by Xtext \${version}\n */"
            }
        }
        language = StandardLanguage {
            name = "org.xtext.example.mydsl.MyDsl"
            fileExtensions = "mydsl"

            serializer = {
                generateStub = false
            }
            validator = {
                // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
            }

            // ---> I added this section, everyting else is standard example
            newProjectWizardForEclipse = {
               generate = true
            }
        }
    }
}

【问题讨论】:

    标签: eclipse xtext wizard


    【解决方案1】:

    可能是 xtext 无法自动合并plugin.xml。然后生成一个plugin.xml_gen,您必须手动合并到plugin.xml

    【讨论】:

    • 其实我在org.xtext.example.mydsl.ui这个文件夹里找到了一个文件plugin.xml_gen。我将差异合并到plugin.xml,现在我在文件→新建→项目...→Xtext→MyDsl项目下有一个新的向导项MyDsl Project。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多