59

Eclipse では、main ctr+と入力spaceすると、メソッドが生成さstatic void mainれます。methodName ctr+と入力spaceすると、スマート コード補完により、 という名前のメソッドの生成が提案されmethodNameます。

IntelliJでvoidメソッドを自動生成するにはどうすればよいですか?

4

7 に答える 7

101

次のようなコードでの使用法から新しいメソッドを作成するには:

...
someMethodName()
...

AltEnter赤コード:

メソッドの作成

完全なステートメント( ) を入力void methodName()して使用することもできます。次のようになります。CtrlShiftEnter

void methodName() {
    |
}

@Makoto が答えたように、独自のライブ テンプレートを作成することもできますが、意図によるプログラミングはより自然なようです。メソッドがない場合は、それを使用するコードを記述し、インテンション アクションからメソッドを作成します。このようにして、IDEA はパラメーターに従ってメソッド シグネチャを自動的に生成し、まだ存在しないメソッドの使用方法で型を返します。のように。String result = someMethod(stringParam);

main()最後に、IntelliJ IDEAで を使用してメソッドを生成できることは何の価値もありませんpsvmTab

于 2012-09-22T13:21:41.083 に答える
49

IntelliJ アイデア 15

mainメソッドを生成する

  • デフォルト:

    タイプpsvm( public static void main ) >押しますTab

  • main(の代わりにpsvm) Eclipse のテンプレートを使用します。

    • [ファイル] > [設定]Ctrlまたは+ Alt+を押しますS

      ファイル > 設定

    • エディター>ライブ テンプレート

      エディター ライブ テンプレート

    • 右側から、「+」記号 >ライブ テンプレートをクリックします。

      追加 > ライブ テンプレート

    • 次の詳細を追加します。

      • 略語:main
      • 説明:main() method declaration
      • テンプレート テキスト:

        public static void main(String[] args){
          $END$
        }
        

        主要

        [その他] に追加された新しいテンプレートが表示されます。

    • 定義をクリックします

      定義

    • [ Java]を選択し、[ OK]を押します

      Java を選択

    • Javamainコードを入力して > を押しますTab

voidメソッドを生成する

  • メソッド名に続いて括弧を入力します(+ 使用する場合は引数) - 例:m()またはm(1,2)> Alt+を押しEnterます > [メソッドの作成...] をクリックします (またはEnter、既に選択されている場合は を押します)

    新しい方法

于 2016-04-16T20:06:20.690 に答える
11

IntelliJ はライブ テンプレートを使用してコード補完を行います。次に、void メソッドに名前を付けるために使用する短縮名を決定する必要があります。

これが例です。[設定] > [ライブ テンプレート] でライブ テンプレートを作成し、[その他] ボックスを選択します。右側の + を押して、テンプレートに省略形のキーストローク名を付けます。

これが私がタイプしたものです。2 つの異なる変数$NAME$$ARGS$を使用すると、入力する必要があるときにそれらの間をタブで移動できます。 $END$は、他の 2 つの変数をタブで移動したときにカーソルが終了する場所です。

void $NAME$ ($ARGS$) {
    $END$
}

私が使用した略称はpmeth. pmethしたがって、 Java ファイルで IntelliJに入力して を押すたびにTab、このメソッドが入力され、カーソルが から自動的に開始され$NAME$ます。

于 2012-09-22T13:58:26.317 に答える
2

main() メソッド テンプレートの省略形を入力するだけです。

psvm then Enter

于 2016-11-03T22:01:26.090 に答える