ファイル保存時のIntellijの再フォーマット


353

IntelliJまたはEclipseで、ファイルを保存するたびにファイルを再フォーマット(クリーンアップ)する設定を確認しました。どうやって見つけるのですか(設定で見つかりませんでした)

回答:


236

保存アクションプラグインをお勧めします。また、インポートの最適化とコードの再配置もサポートしています。

Eclipseフォーマッタープラグインと組み合わせて使用​​するとうまく機能します

プラグインを検索してアクティブ化します。

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

それを構成します。

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

編集: Intellijの最新バージョンの保存アクションプラグインは、Intellijの自動保存によってトリガーされるようです。編集中にヒットすると、これは非常に煩わしい場合があります。

プラグインのこのgithubの問題は、いくつかの可能な解決策にヒントを与えます:

https://github.com/dubreuia/intellij-plugin-save-actions/issues/63

私は実際にCtrl+ に再フォーマットを割り当てようSとしましたが、うまくいきました-保存は自動的に行われます。


私はこれを使用しましたが、Android Studio 1.5.1にアップデートした後、それを見つけることができません。
r1k0 2016年

1
プラグインは(現時点で)最後に更新された10.02.2016でありCompatibility This plugin works with Java 6+ and Intellij IDEA Community Edition after 131 (around version 13).、IntelliJ Android Studio のどのバージョンがベースになっているかがわかりません。これを確認できますか?
Benjamin Peter

トップに行きます!
Nick Grealy

ほとんど私のために働いた。残念ながら、「コードの再フォーマット」は、「コード>コードの再フォーマット」が行うことのサブセットのみを実行します(少なくともScalaコードの場合)。何故ですか?
Thilo

これを試してみましたが、IntelliJははるかに頻繁に保存します。インポートを整理すると、2〜3回のキーストロークがポップアップします。
アシュリー

443

このソリューションは私にとってよりうまくいきました:

  1. マクロを作成します(インポートの整理、コードのフォーマット、すべて保存を使用しました)
  2. キーストロークを割り当てます(私はCtrl+ を上書きしましたS

注:整理されたインポートの場合は、[このメッセージを今後表示しない]チェックボックスを初めてオンにする必要がありますが、その後は期待どおりに機能します。

IntelliJ 10.0のステップバイステップ:

  1. コード->「インポートを最適化...」、ダイアログボックスが表示された場合は、[今後このメッセージを表示しない]チェックボックスをオンにして、[実行]をクリックします。
  2. ツール->「マクロ記録の開始」
  3. コード->「インポートを最適化...」
  4. コード->「コードの再フォーマット...」
  5. ファイル->「すべて保存」
  6. ツール->「マクロ記録の停止」
  7. マクロに名前を付けます(「フォーマット済み保存」など)
  8. [ファイル]-> [設定]-> [キーマップ]で、[メインメニュー]-> [ツール]-> [フォーマットされた保存]にあるマクロを選択します。
  9. [キーボードショートカットを追加]をクリックして、必要なキーストロークを実行します。Ctrl+ Slike like を選択すると、前のCtrl+ Sショートカットをどうするかを尋ねられます。それを除く。必要に応じて、後でいつでも再割り当てできます。
  10. 楽しい!

IntelliJ 11の場合は、

手順2.で:編集->マクロ->「マクロの記録を開始」
手順6.で:編集->マクロ->「マクロの記録を停止」

他はすべて同じままです。

IntelliJ 12

8.設定には、キーマップ設定が含まれています。スクリーンショットに示すように、入力フィールドを使用してコンテンツをフィルタリングします。

Intellij /設定/キーマップ/マクロ


4
IntelliJ 11の場合:1:マクロの記録を開始します:編集->マクロ->マクロの記録を開始します。2:上記の指示に従います。3:マクロの記録を停止します。編集->マクロ->マクロの記録を停止します。キーマップでは、マクロはMain Menu-> ToolsフォルダではなくMacrosフォルダに保存されます。
Markus K

3
コードの再フォーマット方法に満足している場合、プロジェクト内のすべてのコードを再フォーマットしてすべてを保存することを選択すると、このアプローチはより適切に機能します。それ以外の場合は、マルチファイル編集を行うときに、アクティブな編集のみが再フォーマットされてから、変更がすべて保存されます。
ドリューノークス2014

86

以下はニールの回答が更新されたものです。

IntelliJ 13ステップ:

  1. コード->コードの再フォーマット ここに画像の説明を入力してください
  2. 編集->マクロ->マクロの記録を開始
  3. コード->コードの再フォーマット
  4. ファイル->すべて保存
  5. 編集->マクロ->マクロの記録を停止
  6. マクロに名前を付けます(「フォーマット済み保存」など)
  7. ファイル->設定->キーマップ
  8. マクロを右クリックします。キーボードショートカットを追加します。キーボードショートカットをControl + Sに設定します。 ここに画像の説明を入力してください
  9. IntelliJはホットキーの競合を通知します。他の割り当てを削除するには、「削除」を選択します。

ただし、これにより「保存」アクションが削除されます。投稿者が見たのは、Eclipseでは、ファイルを保存するときにコードをフォーマットし、インポートを自動的に整理するオプションがあることです。このオプションは(私が思うに)IntelliJのアイデアにはありません。これは、保存キーを再フォーマットキーにバインドする作業です。
ガネーシュクリシュナン2015

3
同意しません、@ GaneshKrishnan。この回避策は、「保存キー」を「再フォーマットキー」にバインドしません。「再フォーマットして保存する」マクロにバインドします。これは、OPから要求されたものであり、Eclipseに実装されているものですが、チェックボックスでトリガーされます。
dbm

1
ステップ1の場合は、「コード->再フォーマットファイルダイアログの表示」がファイルの再フォーマットダイアログのデフォルトを設定することを意味すると思います(ステップ3-コードの再フォーマットで正しく設定されるように)?
studgeek 2017年

61

チェックイン時に自動的にクリーンアップするように設定しましたが、通常はこれで十分です。何かがあまりにも醜いであれば、私はただのショートカットをヒットします(Ctrl- - Alt、)。L Returnまた、貼り付けたコードを自動フォーマットするオプションがあることもわかりますが、私はそれを使用したことがありません。


12
Ctrl-Shift-Fを使用してフォーマットすることもできます。Ctrl-Alt-LはUbuntuのロック画面コマンドなので、私にとってはそれがずっとうまくいきます。
Jason McVetta 2013年

22
Ctrl + Shift + FはFind in Pathです。
スタック型の2013年

5
チェックイン時に何かを設定するにはどうすればよいですか?
ロブ

2
intelliJを使用してチェックインしていない場合は機能しますか。つまり、コマンドラインツールを使用してチェックインした場合は機能しません。

それはどのようにして質問に答えますか?
ベン

19

Ctrl+ Alt+ Lはフォーマットファイルです(以下の2つを含みます)

Ctrl+ Alt+ Oはインポートを最適化します

Ctrl+ Alt+ I特定の行のインデントを修正します

私は通常、作業をコミットする前にCtrl+ + Alt+ L数回実行します。自動ではなく、コマンドでクリーンアップ/再フォーマットを実行したいのですが。


MacのCtrlをCmdに置き換えます
Gerard

12
Linuxでは注意深く、Ctrl + Alt + L通常はセッションをロックします。関数の1つを再マップする必要があります。
分割不可2014年

18

InteliJ Idea Community 2018.2をお持ちの場合、手順は休閑中です。

  1. 上部のメニューで、[編集]> [マクロ]> [マクロ記録の開始]をクリックします(画面の右下隅に、マクロが記録されていることを確認するウィンドウが表示されます)。
  2. 上部のメニューで、[コード]> [コードの再フォーマット]をクリックします(右下隅にオプションが選択されています)。
  3. 上部のメニューで、[コード]> [インポートを最適化]をクリックします(右下隅にオプションが選択されていることがわかります)
  4. 上部のメニューで次をクリックします:ファイル>すべて保存
  5. 上部のメニューで次をクリックします:編集>マクロ>マクロ記録の停止
  6. マクロに名前を付けます:「コードのフォーマット、インポートの整理、保存」
  7. トップメニューで、[ファイル]> [設定]を選択します。設定ウィンドウでキーマップをクリックします
  8. 右側の検索ボックスで「保存」を検索します。すべて保存(Ctrl + S)があります。それを右クリックし、「Ctrl + Sの削除」を選択します
  9. ボックスから検索テキストを削除し、[すべて折りたたむ]ボタン(左上の2番目のボタン)を押します。
  10. マクロに移動し、矢印を押してマクロを展開し、保存したマクロを見つけて右クリックします。[キーボードショートカットを追加]を選択し、Ctrl + Sを押してOKをクリックします。

IDEを再起動して試してください。

私があなたが何を言おうとしているのか知っています。私の前の連中が同じことを書いたのです。しかし、私はこの投稿の上の手順を使用して混乱し、IDEの最新バージョンを持っている人のために、単純なバージョンを書きたかったのです。


13

Flutterで開発している場合は、2018年5月1日の時点で、保存時にコードをフォーマットできる新しい実験的なオプションがあります。 設定


9

Reformat code...アクションをCtrl-に再バインドしSて、のデフォルトのバインドを置き換えましたSave All

最初はおかしく聞こえるかもしれませんが、IntelliJは実質的にすべてのアクション(テストの実行、プロジェクトのビルド、エディターのタブを閉じているときでも)を節約できるようです。私は打つ癖がありますCtrl- Sかなり頻繁にですので、これは実際には私にとって非常にうまくいきます。再フォーマットするためのデフォルトのバインドよりも、入力は確かに簡単です。


5

IntellIJ 14 && 15:[変更をコミット]ダイアログでコードをチェックインするときに、[コードの再フォーマット]チェックボックスをオンにすると、IntelliJがチェックインしているすべてのコードを再フォーマットします。

出典:www.udemy.com/intellij-idea-secrets-double-your-coding-speed-in-2-hours


2
私がここで
Tushar

4
1つのリソースの過度の宣伝は、コミュニティによってスパムとして解釈される可能性があることに注意してください。適切で適切な回答を投稿する必要があります。1つまたは2つがこのコースについて言及している場合は問題ありませんが、すべての回答に投稿している場合は、フラグが付けられて削除されます。
ArtOfCode

2

IntelliJにそのようなものがあると思いましたが、見つかりません。保存時に行われるクリーンアップは、行末の空白が削除されることだけです。ある時点でその動作を指定する必要があると思いましたが、この時点で関連するものは何もありません。


2

Prettierの場合は、File Watcherを使用するだけです。

参照=>ツール=> File Watchers => +をクリックして新しいウォッチャーを追加=> Prettier

https://prettier.io/docs/en/webstorm.html#running-prettier-on-save-using-file-watcher


2
Prettierは素晴らしいですが、Web以外の言語/フォーマットでは機能しません。これは、js、ts、css、jsonなどをフォーマットしますが、C、C#、Java、Pythonなどでは使用できません-プラグインでの初期の試みを除きます。
Mattia、

0

バージョン2020.1以降、Prettierプラグインの設定でファイルの保存時に実行を直接アクティブにすることができます。

Prettierプラグインの設定

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