2016-10-06 9 views
3

私はvimをエディタとして使用していますが、私はJavaScriptコードをlintingするためにeslintを使用しています。以前は、jsコードの書式設定にjs-beautifyを使用しました。しかし、最近、私は、eslintには--fixオプションがあることが判明しました。これは通常のコーディングスタイルの問題を解決して、eslintルールに違反します。eslintを使用してJavaScriptコードをフォーマットするにはどうすればよいですか?

また、postは、コードの書式設定にeslintを使用することを示しています。私はそれが素晴らしいアイデアだと感じています。なぜなら、私はeslintとjsの両方を美しくすることが冗長であると感じているからです。 eslintはすでに私のコーディングスタイルの問題をすべて検出できるので、私はなぜそれをフォーマットできないのですか?

js-beautifyとeslintの両方に欠点があり、js-beautifyをeslintの規則に従って調整する必要があるという欠点もあります。これはまったく必要ありません。

しかし、jsファイルにeslint --fixを使用すると、セミコロンを挿入し、必要な場所にスペースを追加するような修正が行われます。しかし、私のコードが圧縮されていれば、人間が読めるフォーマットにうまくフォーマットされません。

js-beautifyのように、どのようにしてeslintのコードフォーマットを行うことができますか?

+3

* "私のコードが圧縮されていれば、人間が読める形式にうまくフォーマットされません。" * - なぜあなたのコードは圧縮されていますか? *デプロイメント*目的でコードを小さくするのは良いことですが、人間が読める形式で書いて*維持*する必要があります。 – nnnnnn

+1

[ESLint rules](http://eslint.org/docs/rules/)のリストを見ると、一部のルールだけが '--- fix'で自動的に修正できることがわかります。 – Frxstrem

+0

@nnnnnn、私は圧縮されたファイルを書式化するつもりはありません.eslint --fixが行を分けて書式を整えているかどうかをテストするほうが簡単です。簡単なテストのためだけに圧縮ファイルを使用してください –

答えて

3

私は実際にeslint形式のコードを作成しませんでした。しかし、js-beautifyの結果をeslint --fixにパイプするのがトリックです。したがって、同じ行の複数のステートメントはjs-beautifyによってフォーマットされ、その結果はeslint --fixに送られ、通常のスタイルの問題を修正します。最後に、フォーマットされた固定バージョンのコードが得られます。

0

すべてのルールが自動的に修正されるわけではありません。時には、人間が問題を解決する方法を決定することが重要です。これらのルールはあなたのために修正されません。

末尾のカンマのような他のルールは自動的に安全に固定でき、--fixで適用されます。

+0

あなたの答えに感謝します。私は、コードフォーマッタとしてもeslintを使うことを意図していました。例えば同じ行に複数のステートメントがある場合、それらは行を区切るように書式設定されます。コードがうまくインデントされていないと、コードをうまくインデントします。私のeslintの設定に従って、eslintにそのような形式の仕事をさせる方法を見つけたいだけです。 –

関連する問題