2

ScalaプラグインでEclipseを使用していますが、次のようなことをするたびに

val blah = "test"

Enter キーを押すと、IDE は次の行を自動的にインデントします。これはコーディング規約なのか、IDE の奇妙な癖なのか疑問に思っています。

4

4 に答える 4

5

これは間違いなくScala-IDEの小さなバグです。プラグインには、フォーマットに関する小さな問題がたくさんあります。

ただし、人生を素晴らしいものにしたい場合は、CTRL + SHIFT + F(MacではCMD + SHIFT + F)を押すと、コードが自動的にフォーマットされ、これらの小さな問題が修正されます。

編集:ちなみに、この問題にはいくつかのチケットが出ているようです。これこれを参照してください。私はこの正確な問題についてのコメントをそれらの1つに追加したので、うまくいけば、それは修正されるために待ち行列に入っています。

于 2011-07-10T02:26:47.433 に答える
1

これはIDEの癖です。

于 2011-07-09T21:47:47.100 に答える
0

内部的には、Scala-IDE はスカラ形式のhttps://github.com/mdr/scalari形式のスカラ コード フォーマッタを使用します。特に中括弧の配置に関して、およびコードブロックのインデントに関して、かなり制限された構成可能性(IMHO)を提供します。中括弧の scala スタイル標準のみをサポートします。

関数の値または定義の最初の行が等号で終わる場合、同様の問題 (後続の行の自動インデント) が発生します (たとえば、私が取り組んでいるプロジェクトの標準である gnu スタイル)。以下は、gnu スタイルの関数 def の例です。

def receive =
{
  case "ping" => sender ! "pong"
}

フォーマッタがそれを変換するものは次のとおりです。

def receive =
  {
    case "ping" => sender ! "pong"
  }

別のコード フォーマッタを見つけられなかったので、いつか scalariform に柔軟性が追加されることを願っています。

于 2013-02-07T18:35:01.677 に答える
0

Scala -> Formatter の下の書式設定オプションで構成されていない限り、それを行うべきではありません

于 2011-07-09T21:47:48.243 に答える