VisualStudio で C# のコードを開いたとき「アウトラインを定義に折りたたむ」を実行するとXMLコメントまで折りたたまれてしまいますがコメントは折りたたまないでほしいなぁという人向けの設定方法です。エディタ上でコンテキストメニューを表示して以下を実行したときの動きの事です。
- アウトライン > 定義に折りたたむ (Ctrl + M, O)
この時にコメントとXMLコメントを折りたたまないでメソッドだけ折りたたむようにするには以下の設定OFFにします。
- ツール > オプション > テキスト エディター > C# > 詳細設定 > [アウトライン]
を選択して設定項目から
- 「コメントとプリプロセッサ領域のアウトラインを表示する」 > チェックボックスをOFF
します。これでそもそもコメントがアウトラインの対象から外れるので「定義に折りたたむ」を選んでも折りたたまれなくなります。
設定するとこんな感じです。
この通りコメントはそもそもアウトライン化の対象から外れて意図したとおりの表示になります(コメント先頭の「+」ボタンが消えます)
また、「コメントとプリプロセッサ領域のアウトラインを表示する」がONの状態で、「定義を折りたたむ時に #regions を折りたたむ」のチェックを入れると(当方環境ではデフォルトではOFFでしたが)この「定義に折りたたむ」を実行したときに #region ブロックが折りたたまれるようになります。
VS2012くらいまで?はソリューションエクスプローラーのツリーの折りたたみとかこういったコメントの折りたたみをVBスクリプトで実行してたりしましたが最新環境ではそんなことしないでも大丈夫みたいです。
追記
但しこの方法でコメントのアウトラインを無効化した状態で .NET の API 宣言にジャンプするとコメントが折りたたまれない状態で API の定義が表示されるため一覧性が非常に低下します。
というか「関数宣言に折りたたむ」があれば解決なんですよね。何で無いんでしょうね?設定があるから喜んでしまいましたがちょっと微妙ですね…
追記 その2
この問題を解決する拡張機能をストアで見つけました。
この拡張機能を入れて「Ctrl+M, Ctrl+D」と入力するとメソッドだけが折りたたまれます。拡張機能の名前はコメントの折りたたみとなっていますが実際の挙動は逆ですね(微妙に折りたたまれない or クラスごと折りたたまれる場合がありますが 3rd の拡張機能という事で仕方ないかと。
最初の設定はしないでもよいです。あースッキリした。