ICleanUpがICleanUpOptionsInitializerによって初期化されたものとは異なるオプションで実行されるのはなぜですか?

SpaceTrucker

クリーンアップ用に次のプラグイン構成があります。

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
  <extension point="org.eclipse.jdt.ui.cleanUps">
      <cleanUp id="eclipsecs.saveaction" class="eclipsecs.saveaction.CheckFileCleanUp">
      </cleanUp>
      <cleanUpOptionsInitializer
            class="eclipsecs.saveaction.CheckFileCleanUpOptionsInitializer" cleanUpKind="saveAction">
      </cleanUpOptionsInitializer>
  </extension>
</plugin>

ICleanUpとICleanUpOptionsInitializerの実装は、渡されたICleanupOptionsのインスタンスをログに記録するだけです。

public class CheckFileCleanUp implements ICleanUp {

    public static final String CLEANUP_ID = "com.mgmtp.eclipsecs.saveaction";

    private final ILog log;

    public CheckFileCleanUp() {
        this .log = Activator.getDefault().getLog();
    }

    @Override
    public void setOptions(final CleanUpOptions cleanUpOptions) {
        log.log(new Status(IStatus.INFO, Activator.PLUGIN_ID, "setting options " + cleanUpOptions));
    }

    // other code ommited
}


public class CheckFileCleanUpOptionsInitializer implements ICleanUpOptionsInitializer  {

    private ILog log;

    public CheckFileCleanUpOptionsInitializer() {
        this.log = Activator.getDefault().getLog();
    }

    @Override
    public void setDefaultOptions(final CleanUpOptions options) {
        log.log(new  Status(IStatus.INFO, Activator.PLUGIN_ID, "initializing default options for checking file with checkstyle with options instance " + options));
        options.setOption(CheckFileCleanUp.CLEANUP_ID, CleanUpOptions.TRUE);
    }
}

Eclipseログには、クリーンアップ自体とオプション初期化子に渡されるすべてのクリーンアップオプションに対して書き込まれたさまざまなハッシュコードが表示されます。

オプション初期化子はCheckFileクリーンアップを有効にしますが、CheckFileクリーンアップに渡されたオプションはそれが有効になっていないことを示しています。

オプション初期化子を使用してデフォルトでクリーンアップを有効にするには、何をする必要がありますか?

私はこれを日食火星でテストしました。

SpaceTrucker

使用中のクリーンアップオプションはファイルからロードされます.settings/org.eclipse.jdt.ui.prefs既存のプロジェクトの場合、そのファイルには、新しく作成されたクリーンアップの値が保存されていません。したがって、クリーンアップはデフォルトで無効になっています。

オプションはファイルで編集するICleanUpConfigurationUIことも、チュートリアルで指定されているように提供することもできます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ