0

プロジェクトを Eclipse から IntelliJ にインポートしました。コード スタイルの設定を構成したいと考えています。ただし、配列を宣言するときに問題が発生しました。

Eclipse フォーマッターは、コードを次のようにフォーマットします。

@Before
public void prepareData() throws Exception //NOPMD
{
    LOG.info("Preparing setup data");
    new CoreBasicDataCreator().createEssentialData(null, null);
    CatalogManager.getInstance().createEssentialData(Collections.EMPTY_MAP, null);
    serviceLayerDataSetup.createJobPerformables();
    impExSystemSetup.createAutoImpexEssentialData(new SystemSetupContext(Collections.EMPTY_MAP, Type.ESSENTIAL,
            CuppyConstants.EXTENSIONNAME));
    cuppySystemSetup.importBasics(new SystemSetupContext(Collections.singletonMap(CuppyConstants.PARAM_BASICS, new String[]
    { CuppyConstants.PARAM_BASICS_PLAYERS }), Type.NOTDEFINED, CuppyConstants.EXTENSIONNAME));
    cuppySystemSetup.importWC2002(new SystemSetupContext(Collections.singletonMap(CuppyConstants.PARAM_WC2002, new String[]
    { CuppyConstants.PARAM_WC2002_SETUP, CuppyConstants.PARAM_WC2002_RESULTS_PRELIMINARIES,
            CuppyConstants.PARAM_WC2002_RESULTS_FINALS, CuppyConstants.PARAM_WC2002_BETS_PRELIMINARIES,
            CuppyConstants.PARAM_WC2002_BETS_FINALS }), Type.NOTDEFINED, CuppyConstants.EXTENSIONNAME));

    LOG.info("Finished preparation of setup data");

    LOG.info("Preparing session");
    JaloSession.getCurrentSession().setUser(UserManager.getInstance().getUserByLogin("sternthaler"));
    LOG.info("Finished preparation of session");
}

IntelliJ はコードを次のように再フォーマットします。

@Before
public void prepareData() throws Exception //NOPMD
{
    LOG.info("Preparing setup data");
    new CoreBasicDataCreator().createEssentialData(null, null);
    CatalogManager.getInstance().createEssentialData(Collections.EMPTY_MAP, null);
    serviceLayerDataSetup.createJobPerformables();
    impExSystemSetup.createAutoImpexEssentialData(new SystemSetupContext(Collections.EMPTY_MAP, Type.ESSENTIAL,
            CuppyConstants.EXTENSIONNAME));
    cuppySystemSetup.importBasics(new SystemSetupContext(Collections.singletonMap(CuppyConstants.PARAM_BASICS, new String[]
            { CuppyConstants.PARAM_BASICS_PLAYERS }), Type.NOTDEFINED, CuppyConstants.EXTENSIONNAME));
    cuppySystemSetup.importWC2002(new SystemSetupContext(Collections.singletonMap(CuppyConstants.PARAM_WC2002, new String[]
            { CuppyConstants.PARAM_WC2002_SETUP, CuppyConstants.PARAM_WC2002_RESULTS_PRELIMINARIES,
                    CuppyConstants.PARAM_WC2002_RESULTS_FINALS, CuppyConstants.PARAM_WC2002_BETS_PRELIMINARIES,
                    CuppyConstants.PARAM_WC2002_BETS_FINALS }), Type.NOTDEFINED, CuppyConstants.EXTENSIONNAME));

    LOG.info("Finished preparation of setup data");

    LOG.info("Preparing session");
    JaloSession.getCurrentSession().setUser(UserManager.getInstance().getUserByLogin("sternthaler"));
    LOG.info("Finished preparation of session");
}

IntelliJ ユーザーの場合は、コード スタイル エディター内でこのコード サンプルを試すことができます。皆さんの誰かがこれを理解できることを願っています:)

4

3 に答える 3

1

このプラグインをアイデアで使用できます: Eclipse Code Formatter

検索してインストールするだけPreferences -> Plugins -> Browse Repositories(button)

于 2013-10-21T12:23:16.250 に答える
0

たぶん、コードスタイルのJavaで「再フォーマット時に保持」「改行」を使用する必要があります。

あまりきれいではありませんが、悪いレガシー コード (スペースなどを含む) を処理する唯一の方法である場合があります。

あなたの例では、メソッド呼び出しから配列 (およびその他の変数) の宣言を抽出できます。そうすれば、Eclipse と同じ結果が得られる可能性があります。また、実際にはこのコードが何をしているのかをすぐに理解するのは難しいため、コードを読みやすくすることができます。

于 2013-10-21T12:57:03.370 に答える