Java と Groovy のコードが混在するコード ベースがあります。Groovy コードの反復では、クロージャーを使用する傾向があります。
String[] strings = ["First", "Second", "Third"]
strings.each { string ->
println string
}
IntelliJ IDEA (v. 11) で一度に 1 行ずつステップ実行してこれをデバッグすると、strings.each()
(つまりprintln string
) で実行されているコードがステップオーバーされます。行にブレークポイントを設定しprintln
てデバッグすることはできますが、これは避けたほうがよい回避策です。
Groovy クロージャーをステップオーバーしないように intelliJ を構成する方法はありますか? File->Settings->Debugger->Groovyに該当するオプションはありません。
編集:
intelliJに期待することを明確にするために:
次のような Java スタイルの反復があるとします。
for (String string : strings) {
println string
}
「ステップオーバー」を使用すると、デバッガーは問題なく反復にステップインします。「ステップオーバー」を続行し、反復するオブジェクトがなくなるまでループに入ることができます。これは、上記のような閉鎖に私が期待するものです。
手動でブレークポイントを設定する必要がある 1 つまたは 2 つのクロージャーがある場合は、問題にならない可能性があります。しかし、たくさんある場合は、それらに「自動的に」ステップインするのは本当に素晴らしいことです。