Visual Studio Codeプロジェクトのすべてのファイルをフォーマットするにはどうすればよいですか?


回答:


78

「ファイルのフォーマット」と呼ばれる拡張機能を使用できます。

」使用:コマンドパレットを開き(Ctrl + Shift + P)、「ファイルのフォーマット」と入力します。「editor.action.formatFiles」コマンドへのキーバインドを作成します。ワークスペースフォルダを右クリックし、[ファイルのフォーマット]を選択して、ディレクトリ内のすべてのファイルをフォーマットします。」

ソース:https//marketplace.visualstudio.com/items?itemName = jbockle.jbockle-format-files


途中で「An error occurred while running Format Files: Invalid count value」と言った
アーロンフランケ

魅力のように機能
Dheeraj M Pai

34

これは私のために働きます

よりきれいにインストールします。

npm init 
npm i prettier

package.jsonに次のスクリプトを追加します

"pretty": "prettier --write \"./**/*.{js,jsx,json}\"" 

この場合のみ、.js.jsxファイルと.jsonファイルをフォーマットする必要があります。

スクリプトを実行します。

npm run pretty

3
おそらく
npminstall

3
質問を暗示することはjavascriptについてです。それに関連するタグは見当たりません。
Emobe

2
フォーマットきれいにすることができますc/ c++/c#コードを?いいえ-反対票
Herrgott

eslint --fixeslintとprettierの両方を使用する場合にも使用できます。
BeyondTheSea

9

期待どおりにこれを実行している拡張機能を見つけられなかったので、作成しました。私が今作った拡張機能を見てみることをお勧めします:

https://marketplace.visualstudio.com/items?itemName=lacroixdavid1.vscode-format-context-menu#overview

それでもいくつかの問題があるかもしれません、それらを報告するか、貢献してください。


私の男!時間を節約してくれてありがとう。これはHTMLでうまく機能します。
ラムジェレミー

4

私が見つけた最も簡単な解決策は次のとおりです。

  • vscodeにもっときれいにインストールしてください。
  • .prettierrcファイルを作成し、必要に応じて構成します。
  • vscodeコンソールで次のコマンドを実行します。

npx prettier --write "**/*.ts" (必要に応じてファイルタイプ正規表現を追加します)


1

@herrbischoffが言ったように、現在、プロジェクト内のすべてのファイルをフォーマットする方法はありません。
ただし、これは便利な機能です。

自動保存と自動フォーマットをオンにして、保存されていないすべてのファイルをフォーマットすることができます。

それ以外の場合は、これを実行できるシェルスクリプト、拡張機能、またはその他のexternプログラム(エラーを自動修正できるtslintチェッカーなど)が必要になります。

これに自分で問題があり、すべてのファイルを手で開くのは面倒です


0

現在、それを行う方法はなく、特に便利な機能のようにも思えません。それとも別の言い方をすれば:それはですあなたはそれを完全に信頼することができれば便利な機能も、どのあなたがすることはできません。

使用されている言語の自動フォーマットロジックに多くの信頼を置いて、失敗したりエラーが発生したりしないようにする必要があります。とにかく手動で変更を確認する必要があるため、このアプローチによって生産性が測定可能になることはありません。

あなたが作業している場合は、真剣にアップf'edコードベースと可能性のある問題を気にしない、私はそれぞれの言語CLIフォーマッタを持つ単純なシェルコマンドを実行することをお勧め。clang-formatを使用したC ++コードの例:

find . -iname *.cpp -exec clang-format {} +

このコマンドは、すべてのcppファイルを再帰的に検索し、デフォルト設定でフォーマッターを介して実行します。

このプロセスは、JavaScript(js-beautifyを使用)など、どの言語でも基本的に同じです。

find . -iname *.js -exec js-beautify {} +

出てくるものは何でも確認してください。また、このコマンドをVScodeにスクリプト化することも、組み込みターミナルで実行することも可能です。


18
便利な機能ではないでしょうか。書式設定ルールを変更する場合は、書式設定の変更を他のコードの変更と混在させるのではなく、一度にすべてのファイルに適用することをお勧めします。
slikts 2018

1
それはかなり明白です:それは危険かもしれないからです。すべてのファイル、特にあなたがよく知らないプロジェクトに適用されるすべての自動フォーマットは、それが修正する以上に壊れることがあります。インデントが重要なPythonのような言語を考えてみてください。チェックされていない自動再フォーマット物事壊します。もちろん、あなたは自分の難しい方法でそれを自由に見つけることができます。
herrbischoff 2018年

1
私はIntellijとResharperで何年もこれを行ってきましたが、問題が発生したことはありません。「難しい方法」は実際にはありません。1つのファイルに対して自動的に実行するのに十分な形式を信頼している場合、他のすべてのファイルに対しても十分に信頼しています。IEのデフォルトルールをオフにするルールを明示的に選択し、ゆっくりとオンにするアプローチをお勧めします。
42 2018年

3
この議論では、ファイル全体をフォーマットするのは危険すぎます。ブロックのみをフォーマットできるはずです。ファイル全体に問題がない場合、同じディレクトリにある2つのファイルを選択するとどうなりますか?それで問題ない場合、ディレクトリを選択するとどうなりますか?これが完全に理にかなっている多くのユースケース(例:@slikts)と、reformatters / prettifiers / code standardizersが正常に機能する多くの環境(pythonを含む)があります。
マーヴィン

2
これはかなり意見の分かれる反応のようです。大量のインデンテーションエラーがある(Python以外の)コードベースに出くわすことは珍しくありません。デフォルトのアクションは、現在のルールを使用してファイルをフォーマットし、プロジェクトビルドを確認し、テストに合格してから、gitでファイルを確認します(空白を無視する可能性があります)。単一のファイルではなくプロジェクトでこれを実行できるメソッドをサブスクライブします。
lorengphd

0

私は簡単なトリックをします:

  1. この拡張機能をダウンロードするhttps://marketplace.visualstudio.com/items?itemName=ApceHHypocrite.OpenAllFiles
  2. すべてのファイルを開く
  3. set "editor.formatOnSave":true
  4. すべてのファイルを保存する

それが役に立てば幸い


1
プロジェクトに3k以上のファイルがある場合はどうなりますか?これはペットプロジェクトには問題ありませんが、一般的なアドバイスとしては問題ありません。
BeyondTheSea
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.