フォーマッターにIntelliJでコードをラップさせる方法は?


135

IntelliJでコードをフォーマットできません。

マージンラインは表示されますが(デフォルトでは120列)、メニューからのアクティブ化のようです。

コード->コードの再フォーマット

このマージンを無視しているだけです。

回答:


91

フォーマッターは長い行を改行しないということですか?設定/プロジェクト設定/コードスタイル/折り返しを確認します。

更新:IntelliJの新しいバージョンでは、このオプションは[設定] / [エディター] / [コードスタイル]にあります。そしてを選択しますWrap when typing reaches right margin


1
このオプションは、バージョン13.0.2を使用して、もはや存在しないが、問題が残っ..
ipolevoy

34
@ipolevoyのオプション名は「右マージンが超えていないことを確認してください」
madhead

13
「右マージンが超えていないことを確認する」オプションは、ファイル/設定/エディター/コードスタイル/ Java /折り返しとブレース/再フォーマット時に保持
Aaron

これらの人たちは、設定キーの名前を常に変更し続けています
ACV

これは正しいですが、新しいバージョンでは、ラップできるものをより細かく制御できるようにオプションが追加されました。現在の正しい答えについては、stackoverflow.com / a / 52157389/1104581を参照してください。
ipetrik

160

IntelliJ IDEA 14、15、2016、2017

既存のコードをフォーマットする

  1. 右マージンを超えないようにする

    ファイル>設定>エディター>コードスタイル> Java>折り返しと中かっこ>右マージンを超えないようにする

    ファイル設定 右マージンを確保

  2. コードを再フォーマット

    コード>コードの再フォーマット...

    コードを再フォーマット

    またはCtrl+ Alt+L

    警告 次のようなものがあれば:

    thisLineIsVeryLongAndWillBeChanged();   // comment
    

    に変換されます

    thisLineIsVeryLongAndWillBeChanged();   
    // comment  
    

    の代わりに

    // comment  
    thisLineIsVeryLongAndWillBeChanged();   
    

    これが、前の例のようなコードの場合、再フォーマットする前にコードの一部を選択する理由です。

タイピングが右マージンに達したときに折り返す

  • IntelliJ IDEA 14:ファイル>設定>エディター>コードスタイル>入力時に右端で折り返す

    入力時に折り返す

  • IntelliJ IDEA 15、2016&2017:ファイル>設定>エディター>コードスタイル>入力時に折り返す

    タイピングの折り返し


5
はい!これが本当の答えです、どうもありがとう!重要なのは、Wrap when typing reaches right margin既にラップされている行で何かを変更すると、は大きな問題を抱えることです。あなたの答えは、呼び出し時にきれいになります。「保存してフォーマット」マクロと組み合わせると、これは純金になります。
Patrick

1
私は1つが探しれ得るものである、ここに一つのキーワードを追加したい:これは、それが呼ばれているものであるハードラップ(とは対照的に、ソフトラップ - ここでの違いを参照してください)。
申請

1
最大値を超えないようにするだけでなく、正しい行数にする方法はありますか?例:長い行を入力すると、2行に分割され、最初の行で何かが削除され、2行が1行にマージされます。
user2259659 2017

1
また、2018.1のガイダンスはありません
8bitjunkie

1
2017「タイピングの折り返し」が機能しない。テキストはまだ線を越えており、再フォーマットには何も起こりません
tylik

16

Intellij IDEA 2018.2では、「右マージンが超えていないことを確認」を有効にしても機能しません。回避策を見つけました。以下のすべての要素を「ラップしない」から「長い場合はラップする」に変更する必要があります。

ここに画像の説明を入力してください ここに画像の説明を入力してください

その後、右側のパネルを調べることにより、どのような種類のラップが変更されるかをプレビューできます。問題がなければ、[OK]または[適用]をクリックして変更を適用します。最後に、我々は、使用してmannualフォーマットを必要とする CTRL+ ALT+ LのWindowsでとCommand+ Shift+ LMacOSの中で。


これも私にとって問題でした。そのチェックボックスは設定されているが、残りはデフォルトのままになっている場合、IntelliJは行を折り返すことを試みますが、すべてが「折り返さない」に設定されているため、行を折り返すことができません。
強盗

12

または、次のショートカットを使用できます。

Ctrl + Alt + L


4
このアクションの名前を投稿できますか(設定->キーマップ)?ほとんどのLinuxでは、CTRL + ALT + Lの組み合わせを使用してコンピューターをブロックします。「ショートカットでアクションを探す」も使えません。
tomrozb 14

2
@tomrozbこのショートカットは、コード->コードの再フォーマット用です。
AtomHeartFather 2014年

1
画面がロックされます。
8bitjunkie 2018

3

Ctrl + Shift + S(たとえば)のマクロを作成して、次のすべてを行うことができます。

編集>マクロ>マクロ記録の開始(記録が開始されます)。必要な場所をクリックします。

例えば:

Code > Reformat Code
Code > Auto-Indent Lines
Code > Optimize Imports
Code > Rearrange Code
File > Save All
... (all that you want)

次に、IDEの右下にある赤いボタンをクリックして、マクロの記録を停止します。

マクロ名を設定します。

[ファイル]> [設定]> [マクロ]> [に行くYOUR NAME MACRO

右クリック>キーボードショートカットを追加し、Ctrl + Shift + Sを入力します。


これは基本的なIDE機能です。マクロはOTTであり、非常に単純なものには複雑すぎます。
8bitjunkie

2

IntelliJ IDEA 2020.1コミュニティのコードエディターでテキストを折り返すには、次の手順に従います。

Ctrl + Shift + "A" OR Help -> Find Action
Enter: "wrap" into the text box
Toggle: View | Active Editor Soft-Wrap "ON"

ここに画像の説明を入力してください


0

最新のIntellij ver 2020では、これらのファイルをソフトラップするオプションがあります。設定->エディタ->一般->これらのファイルをソフトラップします。このオプションをチェックして、ラップする必要があるファイルのタイプを追加します。

ソフトラップインテリジオプション

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.