Infinito Nirone 7

白羽の矢を刺すスタイル

多くのパラメータを持つ関数・コンストラクタの呼び出しに必要な引数を名前付きで自動生成したい

やりたいこと

次のように定義されたコンストラクタを名前付き引数を使って呼び出したい。

// 定義
data class Sample(
  val hoge: String,
  val fuga: String,
  val moga: String,
  val piyo: String,
  val foo: String,
  val bar: String,
  val baz: String,
  val qux: String,
  val quux: String,
)

// 次のコードを補完機能で自動生成したい
val sample = Sample(
  hoge = "",
  fuga = "",
  moga = "",
  piyo = "",
  foo = "",
  bar = "",
  baz = "",
  qux = "",
  quux = "",
)

問題

IntelliJ の標準のコード補完機能では、コンストラクタや関数の呼び出しについて名前付き引数のコード補完ができない。ヒントは表示されるが補完まではしてくれないので、すべて手入力しないといけない。

解決方法

プラグインを使いましょう。

plugins.jetbrains.com

このプラグインを使うと、コンストラクタや関数の呼び出し箇所で Fill Function という補完メニューが出てくるようになり、すべての名前付き引数を自動で作ってくれます。

YouTrack にも Issue がたっていますが、今のところは上記の Plugin を使うのが一番はやいです。