2016-06-27 13 views
1

Xtext 2.9.1でエディタを作成しましたが、今はJDTから独立させたいと思います。私はこのガイドに従いましたhttps://eclipse.org/Xtext/documentation/307_special_languages.htmlXtextプロジェクトJDT独立性

しかし、それは動作していないようです。これは私の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つのメソッドが呼ばれています。自分のプロジェクトウィザードを作成していないので、これで十分です。 は、より多くの情報を提供するために、これは、プロジェクトの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" 
      } 
     } 

    } 
} 

、これはのリストです: しかし、まだ

/編集... Javaプロジェクトウィザードが利用可能になるinstallatingプラグインの後さまざまなプロジェクトのための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

+0

まず、EclipseにJDTがインストールされていないことを確認する必要があります。それはあなたが構築しているRCPアプリケーションか、単にプラグインですか? –

+0

C/C++用のクリーンなEclipse Neonをダウンロードしました。私はプラグインを使わずに最初に試しました(新しいプロジェクトではJava Project Wizardは使用できません)。その後、プラグインをインストールしてJava Project Wizardが表示されました。それはXtextに基づくエディタです。 (構文強調表示、いくつかのバリデーション、クイックフィックス、書式設定)。 – Smarty77

+0

質問が編集されました。この問題を解決するために、より多くの情報を提供しようとしました。 – Smarty77

答えて

0

ランタイムとUIプロジェクトからorg.eclipse.xtext.xbaseorg.eclipse.xtext.xbase.uiの依存関係を削除する必要があります。

パッケージエクスプローラでプラグイン依存関係を開くと、リストにorg.eclipse.jdt.coreが表示されないことを確認してください。その場合は、(推移的)依存関係を持つ別のプラグインがあります。 whichを見つけて削除してください。

関連する問題