Visual Studioでコードを自動フォーマットする方法を教えてください。


820

Visual Studioが自動フォーマットしてメソッドとループを適切にインデントできることは知っていますが、設定が見つかりません。


17
トップメニューから:[編集]-> [詳細設定]-> [ドキュメントのフォーマット]
zipzit

6
2019年はどうですか?
l --''''''--------- '' '' '' '' '' ''

1
vs2019でも同じ
フィンランド

「2回のキーストロークでコードブロックをどのようにフォーマットするのですか」という意味ですか?これは、一般的な回答が参照しているようです(「オートフォーマットはどのように行うのか...入力/貼り付けなどを行うのではなく)」。
KevinVictor

Visual Studio 2017の場合。ショートカットCtrl + Alt + Enterを使用
Fairuz Sulaiman

回答:


1315

選択範囲をフォーマットするには:Ctrl+ KCtrl+F

ドキュメントをフォーマットするには:Ctrl+ KCtrl+D

定義済みのキーボードショートカットをご覧ください。(これら2つはEdit.FormatSelectionおよびEdit.FormatDocumentです。)

OSXに関する注意

OSXでは、次のCMD ⌘キーを使用しますCtrl

  • 選択範囲をフォーマットするには:CMD ⌘+ KCMD ⌘+F
  • 文書を形成するには: CMD ⌘+ KCMD ⌘+D

17
vs 2010はctrl + k、ctrl + dのようです
Sarawut Positwinyu 2014年

29
ドキュメントをフォーマットするためのVisual Studio 2013のCtr + K、Ctrl +D。
クリス2014

5
VS2010でFormat document is not available...エラーメッセージが表示された場合は、次をお読みください:stackoverflow.com/q/8812741/1016891
tom_mai78101

4
これらはVS2013に対して正確です
James Wierzba 2015

9
マイクロソフトがこれらを変更し続ける理由はわかりません。後で参照できるように、[編集]-> [詳細]-> [ドキュメントのフォーマット]にあります。知っている人は、次のイテレーションでメニューの名前を変更する予定です。
ジェレミー

153

Visual Studio 2010/2013/2015/2017の場合

  • 文書(Ctrl+KCtrl+D)をフォーマットする のでCtrl+K、と入力し、Ctrl+Dそれがシーケンスであるため
  • フォーマットの選択(Ctrl+KCtrl+F

ツールバーの編集- >詳細は、(あなたが見ることができない場合は高度を、ソリューションエクスプローラでのコードファイルを選択し、再試行してください)

私はC#コーディング用に設定されているため、ショートカットの表示が私のものと異なる場合がありますが、ツールバーから移動すると、ショートカットが表示されます。

それが機能していない場合は、自動フォーマットが機能しないようにするブラケットがないなど、コードのエラーを探します


11
機能しない場合は、角かっこ{}、()を確認してください。機能しない場合は、ファイルのどこかに角かっこが開いているためです。
ono2012

40

以下の手順に従ってください:

  • に行く Tools
  • に行く Options
  • に行く Text Editor options
  • 選択した言語をクリックします。C#例として使用しました。

下の画像を参照してください。

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


24
そして、私がこれをやったら?自動インデントを処理する設定が表示されませんか?
MrJalapeno 2017年

21
@MrJalapeno 6年前に私がここでどのような質問に答えていたのかまったくわかりませんが、34人が役に立ったと感じています。混乱させて申し訳ありません。私の答えにはフォーマット関連のオプションがあるため、おそらく私の答えが当てはまる質問を誤って解釈したでしょう。振り返ってみると、OPがctrl + k、ctrl + dを探していたと言っても安全です。
Pete

(コードスタイル)書式設定> "貼り付け時に自動フォーマット"
tomsmithweb

37

保存するたびにドキュメント全体をフォーマットする「保存時にドキュメントをフォーマット」という名前の拡張機能をインストールしました。VS15または17にインストールするには、[ツール]で[拡張機能とアップデート...]をクリックします。

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

次に、左側のパネルの[オンライン]に移動し、[保存時にドキュメントをフォーマット]を検索します ここに画像の説明を入力してください

お役に立てば幸いです。


また、ビジュアルスタジオマーケットプレイスmarketplace.visualstudio.com/…から
VMM '28年

28

質問は少し古いですが、誰かが便利だと思うかもしれません。

に行くことによって新しいキーバインディングを定義することができます Tools -> options -> Environment -> keyboard

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


ありがとう。私にとってはVS2005スキームでCtrl E + D :)
nawfal 2016年

20
  1. [ツール]-> [拡張機能とアップデート]に移動し、検索に「生産性」と入力します。 1
  2. 'Productivity Power Tools 2015'をインストールする
  3. VSを再起動します。
  4. [ツール]-> [オプション]-> [生産性パワーツール]-> [パワーコマンド]に移動し、[保存時にドキュメントをフォーマット]をオンにします。 2

それはタイピングしながら作業している場合VB.NETと同様に、優れているとされています:
tmighty

実際にファイルを変更する前に、編集して変更をコミットするすべての新しいドキュメントのフォーマットに慣れる必要があります。そうしないと、コミットがかなりうるさく見えることがあります
smurtagh

Visual Studio 2019の拡張機能をインストールしましたが、HTMLコピー後にpowerCommandsが表示されません。
アミールドラ

Microsoft Visual Studio Community 2019 Version 16.5.2
Slava


10

HTMLソース編集ツールバーを表示すると、「ドキュメント全体のフォーマット」ボタンもあります。


それは本当に奇妙な場所です。私はこれをずっと捜し求めてきました。
rory.ap 2015年

1
私はVS13を使用していますが、そのツールバーには[ドキュメントのフォーマット]ボタンがありません。
emcor

1
Microsoft Visual Studio Community 2015バージョン14.0.23107.0 D14RELを使用すると、前述のツールバーに[ドキュメント全体をフォーマット]ボタンがあります。
Ian Carpenter

9

承認済みの回答で提供されているソリューションは、Microsoft Visual Studio 2012には適用されません。

VS2012の場合、ショートカットは次のとおりです。

  • 強調表示されたコードブロックの場合: Ctrl+ KCtrl+F
  • ドキュメント全体のフォーマットの場合: Ctrl+ KCtrl+D

実際、それは間違いではありません。CTRL + K、FとCTRL + E、Fはまったく同じことを行います。EDIT-> Advancedに移動すると、実際にはCTRL + E、DおよびCTRL + E、Fとしてリストされているショートカットが表示されます。また、コメントはCTRL + K、CまたはCTRL + E、Cのいずれかで行うことができます。-すべての最新のアップデートがインストールされたVS2012 Premiumを使用します。
Alan006 2014年

1
@ Alan006興味深い。私のVS2012 Proのインストールでは、Ctrl + e、f / Ctrl + e、dはコマンドではないと表示されています。
Geowil、2014年

5
最初の起動時に最初に選択する環境/開発設定に関係があるのではないかと思います。どちらも私のために働くので、私は文句を言いません:D
Alan006

@ Alan006は正解です。VS2010以降のデフォルト環境では、「Visual Basic」のキーボードレイアウトが使用されます([ツール]-> [オプション]-> [キーボード]を選択)。「Visual C#2005」のキーボードバインディングは少し異なります。
ブライアンウェイ


7

VS 2017および2019

フォーマットドキュメントはCTRL E + Dです。

しかし... ツールバーにドキュメントの書式設定ボタンを追加したい場合は、これを実行します。
ツールバーを右クリックします。
「カスタマイズ...」を
選択します。「コマンド」タブを選択します。
「ツールバー」ラジオボタンを選択します。
ラジオボタンの横にあるプルダウンから[テキストエディター]を選択します(またはツールバーにボタンを配置する必要がある場合)

さて...

ボタンをクリックしAdd Commandます。
カテゴリ:編集
コマンド:ドキュメント形式
クリックOK


6

アンダーの下で[ツール] - > [オプション] - >テキストエディタは、その後に行くの書式- >一般あなたをフォーマットしたいどんな言語のセクションでは見つける全般。3つの書式チェックボックスをすべてオンにします。

以下の下で[ツール] - > [オプション] - >テキストエディタは、その後に行くTABSのあなたが見つけるフォーマットしたいどんな言語のセクションインデントを。[ スマート]を選択すると、終了要素の1つを使用するたびに自動フォーマットがアクティブになります。)}そのブロック内。

キーストロークの必要はありません。


1
VB.NETがこれを行う間、これは「既に台無しにされた」コードを改善しません。
tmighty

5

ツールバーにボタンを追加するには、最後のツールバーボタンの右側にある小さなドロップダウン矢印をクリックし、[ボタンの追加または削除]を選択して、チェックを追加するボタンをクリックします。選択したボタンがツールバーに表示されます...

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

次に、テキストを選択して、[インデントを増やす]または[インデントを減らす]ボタンをクリックします。これはVisual Studio 2013でのみテストしました。



5

元の質問では、「設定が見つかりません」とのことでした。

簡単な答えは、トップメニューを見て、

編集->詳細->ドキュメントのフォーマット

その機能に現在割り当てられているキーストロークも表示されます。覚えておくべき特別なことはありません。これは、異なるオペレーティングシステムで複数の開発者環境を使用する場合に非常に役立ちます。


5

データを選択して右クリックすると、このオプションが見つかります。フォーマットドキュメントとフォーマットの選択

この画像を見る


このスレッドはVisual Studioに関するものです。あなたのコメントは、Visual Studio Codeについて語っています
S. ten Brinke



2

上記のStarwfanaticEwanの回答をさらに進めるために。IDEをカスタマイズして、任意のボタンを任意のツールバーに追加できます。つまり、(HTMLソース編集ツールバーと同様に)[書式]ボタンを他のツールバーに追加できます(インデントの増減など、他のすべての編集コントロールを備えたテキスト編集など)。

ツールバーの右側にある矢印をクリックし、[ボタンの追加または削除]> [カスタマイズ...]> [コマンド]タブ> [コマンドの追加...]ボタンをクリックします。

ドキュメント形式選択形式はどちらも編集グループの下にあります。

(VS2010およびVS2013でテスト済み)


1

連続フォーマット入力時に(私が開発し、商業、)拡張、コードが実際に自動的にフォーマットされます。


これはすばらしいので、デフォルトでVSに含める必要がありますが、価格が高すぎます。19ユーロで「素晴らしい!」と言ったでしょう。
tmighty 2017

1

Macを使用していて、[コード]> [設定]> [設定]> [ワークスペース]> [フォーマット]をクリックし、[ 保存時にフォーマット]を選択しました。

cmd+ を押すたびにs、ファイルが自動的にフォーマットされます。

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


2
私にはMacがありません(したがって、MacのVisual StudioはVS Codeのように見えるかもしれませんが?)
Gregg L

1

Visual Studio Extension- CodeMaidは非常に優れています。


拡張子が見つかりません
Sushan


1
この拡張機能を使用すると、フォルダーを右クリックして、その中のすべてのファイルのすべてのコードをクリーンアップすることもでき、非常に便利です。
xinthose

0

セクションの切り取り/貼り付けは、別の簡単な方法です(覚えやすい)。


2
...?それは私のために何もフォーマットしません。実際には、私がこれまでに見た理由は、切削や貼り付けた後の形式にした...
tenwest

それはあなたのコードをデフォルトの設定でフォーマットしません。多分あなたは、貼り付け後に仕事をするいくつかの設定/プラグインを持っています。2018年11月(v 1.30.2)までは、SHIFT + ALT + F
Pablo

0

余裕がある場合(または30日間の無料試用の資格がある場合)、Jetbrains ReSharperはプロジェクトディレクトリ全体を再フォーマットできます。

インストールするだけ->ディレクトリを右クリック->コンテキストメニューから[クリーンアップコード]を選択します。


0
#include "stdafx.h"
#include <stdio.h>


int main(){
    char filename[15];

    printf("Enter file name:");
    scanf("%s", filename);
    Automat(filename);
    freq(filename);
}

int Automat(char filename[]){

    FILE*fp;
    char c;
    int state = 1;
    int duma = 0;
    fp = fopen(filename, "r");
    if (fp == NULL){
        printf("Error");
        system("pause");
    }
    while (!feof(fp)){
        c = fgetc(fp);

        switch (state){
        case 1:
            if (c == '\t' || c == '\n' || c == ' '){
                state = 3;
                break;
            }
        case 2:
            if (c >='A'|| c<='Z'){
                break;
            }

        case 3: duma++;
            state = 1;
            break;
        }
    }
    printf("Broq e : %d\n", duma);
    return 1;
}
int freq(char filename[]){

    FILE*fp;
    char c;
    int state = 1, sequence = 0;
    fp = fopen(filename, "r");
    if (fp == NULL){
        printf("Error");
        system("pause");
    }



    while (!feof(fp)){
        c = fgetc(fp);
        switch (state){
        case 1:
            if (c >= 'A' && c <= 'Z'){
                state = 2;
                break;
            }

        case 2:
            if (c == '\t' || c == '\n'||c == ' '){
                sequence++;
                state = 1;
                break;

            }
        }

    }
    printf("Sequence is : %d\n", sequence);
}

1
@Robsonそのような場合は、提案された編集を送信することをお勧めします。すべてのコードを強調表示してCtrl-Kを押すだけで、自動的にインデントされます。
EJoshuaS-モニカを

0

右メニューのクリックオプションを試して、コーディングドキュメントの選択をフォーマットすることもできます。以下のスクリーンショットを見てください

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


0

自動的にインデントするテキストを選択します。

[編集]、[詳細設定]の[フォーマットの選択]をクリックするか、CTRL + K、CTRL + Fを押します。形式の選択は、選択したテキストにプログラミングの言語のスマートインデントルールを適用します。

ステップ(1):-CTRL + A

ステップ(2):-CTRL + K

ステップ(3):-CTRL + F



-1

Visual Studio 2015および2017ではc#コード用。1)ファイルの最後までスクロールします2)最後の「カーリーブラケット」を削除します} 3)エラーが表示されるまで待ちます4)「カーリーブラケット」を置き換えます} fini。:)

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