Я создал редактор с Xtext 2.9.1, и теперь я хочу сделать его независимым от JDT. Я следил за этим руководством https://eclipse.org/Xtext/documentation/307_special_languages.htmlXtext project JDT Independence
но он не работает. Это мой ErrmsgUiModule.xtend
@FinalFieldsConstructor
class ErrmsgUiModule extends AbstractErrmsgUiModule {
override configure(Binder binder) {
super.configure(binder);
binder.bind(DefaultHighlightingConfiguration).to(ErrMsgHighlightingConfiguration);
binder.bind(DefaultSemanticHighlightingCalculator).to(ErrorSemanticHighlightingCalculator);
}
override bindIResourceForEditorInputFactory() {
return ResourceForIEditorInputFactory
}
override bindIResourceSetProvider() {
return SimpleResourceSetProvider
}
override provideIAllContainersState() {
return Access.getWorkspaceProjectsState()
}
}
Я проверил каждый перезаписаны метод с отладчиком и все 3 метода называются. Я не создал свой собственный мастер проекта, поэтому этого должно быть достаточно. Но все же после того, как плагин installating мастер проект Java становится доступным ...
/Edit: Чтобы предоставить больше информации, это mwe2 файл проекта
module com.xxx.lang.errmsg.GenerateErrmsg
import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*
import org.eclipse.xtext.ui.generator.*
var rootPath = ".."
Workflow {
component = XtextGenerator {
configuration = {
project = StandardProjectConfig {
baseName = "com.xxx.lang.errmsg"
rootPath = rootPath
runtimeTest = {
enabled = true
}
eclipsePlugin = {
enabled = true
}
eclipsePluginTest = {
enabled = true
}
createEclipseMetaData = true
}
code = {
encoding = "windows-1250"
fileHeader = "/*\n * generated by Xtext \${version}\n */"
}
}
language = StandardLanguage {
name = "com.xxx.lang.errmsg.Errmsg"
fileExtensions = "msg"
fragment = formatting.Formatter2Fragment2 auto-inject {}
serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}
}
}
}
и это список Зависимости от plugin.xml для различных проектов:
проект com.xxx.lang.errmsg
org.eclipse.xtext,
org.eclipse.xtext.xbase,
org.eclipse.equinox.common;bundle-version="3.5.0",
org.eclipse.emf.ecore,
org.eclipse.xtext.xbase.lib,
org.antlr.runtime,
org.eclipse.xtext.util,
org.eclipse.xtend.lib,
org.eclipse.emf.common,
org.objectweb.asm;bundle-version="[5.0.1,6.0.0)";resolution:=optional,
org.eclipse.xtext.ui
проект com.xxx.lang.errmsg.ui
com.xxx.lang.errmsg,
com.xxx.lang.errmsg.ide,
org.eclipse.xtext.ui,
org.eclipse.xtext.ui.shared,
org.eclipse.xtext.ui.codetemplates.ui,
org.eclipse.ui.editors;bundle-version="3.5.0",
org.eclipse.ui.ide;bundle-version="3.5.0",
org.eclipse.ui,
org.eclipse.compare,
org.eclipse.xtext.builder,
org.eclipse.xtend.lib;resolution:=optional,
org.eclipse.xtext.xbase.lib,
org.eclipse.xtext.xbase.ui
/Edit2: По этой теме https://bugs.eclipse.org/bugs/show_bug.cgi?id=336217, я также попытался отключить все org.eclipse.jdt * плагинов в конфигурации запуска. Это то, что я получаю http://pastebin.com/Wi0gzceM
Вы должны убедиться, что у вас нет JDT, установленного в Eclipse, в первую очередь. Это приложение RCP, которое вы создаете или просто плагин? –
Я загрузил чистый Eclipse Neon для C/C++. Я попробовал это сначала без моего плагина (в новом проекте не было Java Project Wizard), затем я установил плагин и появился Java Project Wizard. Это редактор, основанный на Xtext. (подсветка синтаксиса, некоторые проверки, быстрые исправления, форматирование). – Smarty77
Вопрос отредактирован. Я попытался предоставить больше информации для решения этой проблемы. – Smarty77