質問者
閉じかっこの位置をデフオルトの状態に戻したい。

質問
-
Microsoft Visual Studio Community 2022のversion 17.1.0.0を使用しています。
次のようにブロックの閉じかっこが妙な位置に出るようになってしまいました。
↓この状態のブロックの中にカーソルを移動させ、エンターを押すと
if (true) {}
↓上のifの開始位置に閉じかっこが来るのが望んだ動作であり、元の動作でもあるのですが、現在は下のように閉じかっこが移動します。
if (true) { } if (true) { }
関係ありそうな項目として「コードスタイル」の「書式設定」の「インデント」の「初めと終わりのかっこをインデントする」があったので、
これをオフの状態からオンの状態にすると次のように悪化したので、オフに戻しました。
if (true) { }
何か妙な設定を変えてしまった可能性が高いのですが、どうしても原因となる個所が見つからず、
細かい質問で申し訳ないのですが、これを直すにはどこの設定を変えればいいのか教えてもらえないでしょうか。
プログラム自体は実行可能(エラーが出ていない)なため、ソースコード全体の{}の数が合っていない、ということはありません。
すべての返信
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
MSDNフォーラムにご投稿くださいましてありがとうございます。
Visual Studioに何かの拡張機能を有効にしましたか。
そうであれば、「拡張機能」>「拡張機能の管理」>「インストール済み」に行って、無効にしてからもう一度ご確認ください。
また、「ツール」>「設定のインポートとエクスポート」>「すべての設定をリセット」を選択し、リセット設定を試してみてください。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
さらに調査するため、プロジェクトのタイプをご共有いただければ幸いです。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
申し訳ありませんが、プロジェクトのタイプの確認方法を教えていただけますでしょうか。
以下のサイトを参考に確認しようとしましたが、この内容はいずれも正しくなく、確認することができませんでした。
https://docs.microsoft.com/ja-jp/nuget/resources/check-project-format
こちらのサイトでは、例えば「[<プロジェクト名>.csproj の編集] 」を選択しろとありますが、
具体的にどこにそれがあるのか、説明がなく見つけることができないため、プロジェクトのタイプを確認できません。
また、[プロジェクトのアンロード] を選択しろという指示がありますが、
アンロードした後に何をすればよいのか記載されていないため、プロジェクトのタイプを確認できません。 -
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
プロジェクトをアンロードした後、.csprojファイルに<ProjectTypeGuids>タグがあるかどうかご確認ください。
下記のリストが参考になるかもしれません:
List of Visual Studio Project Type GUIDs
また、プロジェクトの言語を覚えていますでしょうか。
新しいコンソールアプリ(C# or C++)を作成し、この問題がまだ存在しているか検証してみてください。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
再度確認したうえで、この問題を再現できました。
「ツール」>「オプション」>「テキスト エディター」>「C#」>「タブ」>「ブロック」インデント選択して、この問題が消えるかどうかご確認ください。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
お待たせいたしました。
下記の手順に従って、「貼り付け時にオートフォーマットする」を有効にしているかどうか確認してください。
「ツール」>「オプション」>「テキスト エディター」>「C#」>「コードスタイル」>「書式設定」>「全般」>「貼り付け時にオートフォーマットする」。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
「caseの内容をインデントする(ブロックする場合)」を無効にしてみて、このセットの問題なのか確認してみてください。
「ツール」>「オプション」>「テキスト エディター」>「C#」>「コードスタイル」>「書式設定」>「インデント」>「caseの内容をインデントする(ブロックする場合)」。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
さらに調査のため、「ツール」>「設定のインポートとエクスポート」に行って、設定ファイルをhttps://onedrive.live.com/にアップロードして、ご共有いただければ幸いです。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信いただきありがとうございます。
リンクアドレスをご共有いただければ幸いです。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
お返信遅くなり申し訳ありません。
アップロードされたファイルを確認して再テストしました。
以下のコードをタイプする場合:
if (true) { if(true) { } }
そして、「if」の前に「Enter」をクリックすると、下記のようになります:
if (true) { if(true) { } }
そのほか、顔面発射のド迫力さんと同じようなコードをタイプする場合:
if (true) { if(true){ } }
そして、「if」の前に「Enter」をクリックすると、結果は同じになります。
if (true) { if(true){ } }
その違いは「if」前のインデントかと思っています。
したがって、「if」前のインデントがスペースを手動でタイプされるのか、それとも自動的にインデントされるのか、確認していただけませんか。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信ありがとうございます。
「if」前のインデントというものは下記の①の箇所です。通常には下記のようなのですが、それは自動的に生成されたのか、手動で入力したのか確認したいのです。
if (true) { if(true) { } }
どうぞよろしくお願いします。
MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
- 編集済み kumo-msftMicrosoft contingent staff, Moderator 2022年7月14日 8:48
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
ご返信ありがとうございます。
「ツール」>「オプション」>「テキストエディター」>C#>「コードスタイル」>「書式設定」>「全般」下の設定を無効してみてください。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
顔面発射のド迫力さん、こんにちは。フォーラムオペレーターのKumoです。
お返信遅くなり申し訳ございません。
「全般」下のすべての項目を無効にしてみてください。
どうぞよろしくお願いします。MSDN/ TechNet Community Support Kumo ~参考になった投稿には「回答としてマーク」をご設定ください。なかった場合は「回答としてマークされていない」も設定できます。同じ問題で後から参照した方が、情報を見つけやすくなりますので、 ご協力くださいますようお願いいたします。また、MSDNサポートに賛辞や苦情がある場合は、MSDNFSF@microsoft.comまでお気軽にお問い合わせください。~
-
オプション関連は指摘され尽くしているので、コードスニペットが影響しているかもしれません。
メニューの「ツール」の「コードスニペットマネージャー(T)...」DLGで
「言語(L)」で希望の言語(C#等)を選択し、「VisualC#」直下のスニペットの全て又はカッコ関連を削除します。
【参考】手前味噌ですが以下のスレッドは主にタブ入力時の問題についてのものですが大かっこについての問題も指摘しています。
「コードスニペットを無効、またはキーアサインを変える方法を探しています。」
なお、これでもダメな場合にはオプション関連の項目で見落としがあると思われます。
また、VS2013の環境で確認したのでVS2022では項目名などが異なる可能性があります。- 編集済み 仲澤@失業者 2022年10月5日 1:05
-
まだ回答を待っています。
ここはサポートセンターではないので、誰かが回答する義務を負っているわけではありません。
Visual Studio のメニューから、「ヘルプ」→「フィードバックの送信」→「問題の報告」
で、Microsoft のエンジニアに連絡してください。
ただし、
「マイクロソフト ソフトウェア ライセンス条項 MICROSOFT VISUAL STUDIO COMMUNITY 2022」
https://visualstudio.microsoft.com/ja/license-terms/vs2022-ga-community/「8.サポート。本ソフトウェアは「現状有姿のまま」で提供されます。そのため、マイクロソフトはサポート サービスを提供しない場合があります。」
とあるので取り合ってもらえない可能性はあります。