1. ホーム
  2. c#

[解決済み] Visual Studio C# ステートメントの折りたたみ

2022-04-28 22:48:45

質問

非常に長いコードブロック(いずれにせよ間違いなくリファクタリングされるべきですが、それはこの質問の範囲外です)を編集するとき、私はしばしば、関数ブロックを折り畳むことができるようにステートメントブロックを折り畳む機能を待ち望んでいます。 つまり、中括弧で囲まれたものすべてに対して、マイナスアイコンがコードアウトラインに表示されれば最高なのです。 関数、クラス、リージョン、名前空間、使用法については表示されるようですが、条件ブロックや反復ブロックについては表示されないようです。 if、switch、foreachesのようなものを折りたたむことができたら素晴らしいですね。

ちょっとググってみると、どうやらVSのC++のアウトラインはこれができるのに、VSのC#のアウトラインはできないことがわかりました。 なぜなんだろう? このような場合、「C#」の書式を選択すると、notepad++でもこのような折りたたみができるのですが、Visual Studioではなぜできないのでしょうか。

この動作を有効にするVS2008のアドインをご存知の方はいらっしゃいますか? または、そのための隠し設定のようなものをご存知ですか?

しかし、率直に言って、すでに中括弧で囲まれているものをリージョンで囲む必要はないはずです...既存のコードを編集するのであれば、とにかく懸念の分離をよくするためにリファクタリングするでしょう。("wrapping" with new methods instead of regions ;)

解決方法は?

Visual Studio 2017 からは、ステートメントの折りたたみが組み込まれています。

2017年以前のバージョンのVSでは、VS 2010バージョンから、このタスクを実行するいくつかの拡張機能が存在します。

最後の拡張機能はVS 2015とVS 2017にしか対応していませんが、最も強力なものです。

折りたたまれたブロック内のシンタックスカラーリングをサポートし、よりフォールトトレラントで最適化されています。

<ブロッククオート

ブラウザを使って拡張機能をダウンロードしてもインストールされないようであれば、Visual Studio内蔵の拡張機能マネージャを使用してみてください。