intellijがコードを自動フォーマットする方法をどのように変更しますか?[閉まっている]


13

IntelliJはJavascriptコードを使用して奇妙なフォーマットを実行します。この方法でフォーマットを停止する方法を見つけようとしています。jQuery関数をつなげると、次のような自動作成コードがインデントされます。

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

私はそれを次のように見せたいです:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

これを変更するにはどうすればよいですか?


ここでの修正は機能しなかったので、ジェットブレインと連絡を取り、問題を解決しました。こちらに投票してください:youtrack.jetbrains.com/issue/WEB-15066
JonnyRaa

4
この質問はソフトウェアツールに関するものであるため、トピック外としてこの質問を終了することに投票していますが、Stack Overflowに移行するには古すぎます。

回答:


11

@intargがコメントの中で述べているように。File|Settings|Code Style|GeneralJavascriptの場合は、[Javascript]タブでContinuation Indent0に設定して変更できます。

それはあなたが望むもののほとんどを取得します。問題は、コードが実際にはすべて1つの長いステートメントであるということです。

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

後の改行を防ぐための関連オプションがあるかどうかわからない focus(

ああ、オプションを変更するときは、Javascriptコードサンプルタブがアクティブになっていることを確認してください。そうしないと、Javascriptのオプションは変更されません。

編集:今私はさらに調べました。Javascriptフォーマッタは、特定の場合に改行を追加するようにコーディングされています。オプションはありません。


私にとってこのdoesntの仕事-私はまだ上で概説したように横向きにクリープを取得
JonnyRaa

0

intellijでコードの書式設定を制御するために必要なすべての設定は、[ファイル]> [その他の設定]> [テンプレート設定]にあります。

Javascriptがリストにない場合(つまり、Javascriptプラグインをインストールしていない場合)、[全般]タブ、[その他]タブでコードのフォーマットを定義できます。インデントと間隔を制御するオプションがあります。


問題は、.blur()からの関数が継続インデントだと考えることだと思います。これをやめさせる唯一の方法は、継続インデントを0に設定することですが、これにより他のコードも見栄えが悪くなります。これが継続的なインデントではないこと、または内部的な処理が行われていることを伝える方法を知っていますか?
intargc

Javascriptプラグインをintellijにインストールしましたか?いくつか利用できることを知っています。これらのいずれも使用しない場合、IDEは標準のインデント/間隔でフォールバックします。IDEにこれらの構成要素を認識させるには、プラグインを使用するのが理想的です。
荒涼とした惑星

ジェットブレインを試しましたか?また、Eclipseでこれを試してみましたか。私はしばらくの間intellijには触れませんでしたが、Eclipseにはかなり優れたプラグインサポートがあり、インデントを制御するのに十分簡単であることがわかっていますが、実際にはintellijに問題はないはずです。
荒涼とした惑星

コミュニティエディションはオープンソースなので、いつでもソースコードを取得してビルドし、フォーマットを実行する場所にブレークポイントを挿入して、内部に問題がある場合は除外できます。希望どおりに動作しない場合は、修正を適用して、リポジトリ所有者のいずれかにパッチを送信します(時間と傾向がある場合):
荒廃した惑星

javascriptプラグインがインストールされています。ジェットブレインを試して、そこに誰かが手がかりがあるかどうかを確認します。ありがとう。
intargc
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.