7

さまざまな言語、つまり JavaScript でソース コードを自動フォーマットするために使用する優れた Sublime (3) パッケージを Web で探しています。この SOF 投稿 ( Sublime Text 2: JavaScript の自動修正インデント? ) に出くわしたので、JSFormatを試してみることにしました。これまでのところ、JS コードで JSON オブジェクトを処理する場合を除いて、かなりうまく機能しているようです。たとえば、次のような関数があるとします。

function foo() {
  return {name: 'Dave', score: 1000};
}

JavaScript オブジェクトを JSON 形式で返します。かなりハッシュ オブジェクトです。私はこのようなオブジェクトを 1 行で書くのが好きです。なぜなら、それはシンプルで読みやすいからです。特に、小さなアドホックなオブジェクトであるためです。しかし、これを JSFormat でフォーマットすると、関数は次のようになります。

function foo() {
  return {
    name: 'Dave',
    score: 1000
  };
}

これは私だけかもしれませんが、このような単純な JSON オブジェクトを複数行で表現するのは本当に好きではありません。はい、通常、中かっこを必要とする JavaScript コードは、関数、if ステートメント、ループなど、中かっことは別の行にコンテンツを配置する必要があります。おそらく、JSON オブジェクトが、jQuery Ajax クラスなど、内部に関数を含む長いオブジェクトである場合は、属性を複数の行に分けることが理にかなっています。

それにもかかわらず、中かっこに関する私の指摘が理にかなっているのかどうかに関係なく、JSFormat が構成をサポートしていることは知っています。おそらく、JSON オブジェクトの属性を複数の行に分割しないように JSFormat を構成する方法があるかもしれません。何か案は?

4

1 に答える 1

6

悪いニュースで申し訳ありませんが...

JSFormat単一行の関数定義をサポートしないjs-beautifyを使用します。すべてが「美化された」行に分割され、「読みやすく」なっています。

js-beautify の例を見てください...例自体は、単一行の関数定義のものです。保持したい単一行の関数定義と、保持したくないものを区別する方法はありません。

考えてみれば、美化ツールを使用する理想的な状況は、圧縮されたコードを読みやすくしたい場合です... それも長い 1 行のコードです。

私はあなたの痛みを感じます、私を信じてください。

于 2014-01-13T08:36:00.667 に答える