Visual Studio 2008で領域折りたたみを永続的に無効にする方法


106

Visual Studio 2008でコードの折りたたみをオフにする方法を知っている人はいますか?一部の同僚はそれを気に入っていますが、私は個人的に常にすべてのコードを確認したいと思っています。Visual Studioのコピーが折りたたまれ#regionsたり、関数の本体が表示されないようにしたいのですが。


10
それを地域愛好家と完全に誤解してください。私の悪い。
ジェフイエーツ

12
あなたの地域を愛することはすでに私のオフィスで禁止されています;)
スティーブクーパー

ひどい質問です。あなたがpの専門家になるとき。ファイルでコードを折りたたむのが好きな言語。
Bitterblue 2014年

7
いや、それはスタイルの問題であり、専門知識の問題ではありません。私は本当に長いクラスと関数が嫌いです。コードの折りたたみは、長くなりすぎるコードの管理に役立ちます。約150〜200行を超えるファイルは、クラスがリファクタリングの準備ができていることを警告します。
スティーブクーパー2014年

回答:


138

編集:私はこの他の答えをお勧めします

[ツール]-> [オプション]メニューに移動します。[テキストエディター]、[C#]、[詳細設定]の順にクリックします。「ファイルを開いたときにアウトラインモードに入る」のチェックを外します。

これにより、すべてのc#コードファイルについて、リージョンを含むすべてのアウトラインが無効になります。


11
ただし、このオプションをオフにすると、アウトラインが完全に無効になります。ファイルを開いたときに展開されたコードのすべての領域を表示する別の設定はどこにありますか?
Dirk Vollmar、2009年

そのためにはマクロを使用する必要があると思いますが、それを実現するためのコードがわかりません。
グレッグ、

1
最も迷惑な「機能」
Christian Kuetbach '20

VS 2013でオプションの場所が移動しました:テキストエディター-> C#->表示、アウトラインステートメントブロック。
idbrii

誰もがどのようなアウトラインモードであるかを説明できますか?
大佐パニック

56

受け入れられた答えは、すべてのコードの折りたたみをオフにします。#regionの折りたたみを無効にして、コメント、ループ、メソッドなどを折りたたむ場合は、これを行うプラグインを作成しました。

#regionsの負担を軽減する(無料):

http://visualstudiogallery.msdn.microsoft.com/0ca60d35-1e02-43b7-bf59-ac7deb9afbca

  • ファイルを開いたときに領域を自動拡張する
  • 必要に応じて、領域が折りたたまれないようにします(ただし、他のコードを折りたたむことはできます)
  • #region / #endリージョンの線を小さくて明るい背景にして、目立たないようにします(これもオプションです)。
  • C#およびVBで動作します(ただし、VS 2010/2012でのみ、2008ではサポートされません)

地域ツールのスクリーンショット


11
このおかげで、これは単にすべてのアウトラインを無効にするのではなく、より優しく、より穏やかなアプローチのようです。
Vivelin 2011年

1
すごい!私はあなたがそれを好きうれしい。
NotDan 2011年

VS 2013バージョンの計画はありますか?ソースは入手可能ですか?誰かが2013年のサポートを喜んで追加すると思います。
チャックコンウェイ2014年

4
VS 2017を期待
ニック・ペインター

10

生成されたコードの領域の折り返しを無効にすることもできます(Visual Studioのショートカットを使用してインターフェイスを自動実装する場合など)。

代替テキストhttp://dusda.com/files/regionssuck.png


これは、[ ツール]> [オプション]> [テキストエディター]> [C#]> [詳細設定]> [インターフェイスの実装]で見つかりました。#regionでサラウンド生成コードのチェックを外します。再度、感謝します。
2014年

9

オプション/テキストエディター/ C#/詳細設定/ファイルを開いたときにアウトラインモードに入る



4

また、すべての領域の展開/折りたたみを切り替える簡単な方法は、CTRL + M + Lです。


2

私は、関連しているが重複していないスレッドに回答を投稿しました。#regionディレクティブと#endregionディレクティブをコメントアウトすることで、単一ユニットの#regionsを非アクティブ化するマクロを作成する方法を詳しく説明します。#regionsを非アクティブ化すると、Ctrl + M + O /定義に折りたたむ機能がまさに私が望んでいることを行います。これが自分以外の人にも役立つことを願っています。

リージョン以外の定義に折りたたむショートカット


1

このオプションはC#でのみ使用でき、C / C ++(Visual Studio 2005)では使用できないようです。C / C ++ファイルのアウトラインを無効にするには、アウトラインの色をエディターの背景色に変更してトリックを作成する必要があります。これを行うには、[ツール]> [オプション]> [環境]> [フォントと色]> [折りたたみ可能なテキスト]> [アイテムの前景]の色を白(または背景色が何であれ)に変更します。


この!これは私が探していたものです!私が何年も(数年ではないにせよ)殺し続けようと考えてきた迷惑な「機能」への洞察を本当に感謝します!
jerhewet

@jerhewetこのソリューションを使用すると、誤ってその白い領域をクリックして領域を折りたたむと問題が発生する可能性があり、展開するには、非表示領域にクリックを向ける必要があります。
Czarek Tomczak

0

私は環境イベントで問題を解決しました:

  1. マクロエディターを起動(alt + f11)
  2. マクロプロジェクトを開く/ EnvironmentEvents
  3. 次のコードを貼り付けます。

    Private Sub DocumentEvents_DocumentOpened(ByVal Document As EnvDTE.Document) Handles DocumentEvents.DocumentOpened
        If (Not Document Is Nothing) Then
            If (Document.FullName.ToLower().EndsWith(".cs")) Then
                Try
                    DTE.ExecuteCommand("Edit.ExpandAllOutlining")
                Catch ex As Exception
                End Try
            End If
        End If
    End Sub

    Private Sub WindowEvents_WindowActivated(ByVal GotFocus As EnvDTE.Window, ByVal LostFocus As EnvDTE.Window) Handles WindowEvents.WindowActivated
        If (Not GotFocus Is Nothing) Then
            If (Not GotFocus.Document Is Nothing) Then
                If (GotFocus.Document.FullName.ToLower().EndsWith(".cs")) Then
                    Try
                        DTE.ExecuteCommand("Edit.ExpandAllOutlining")
                    Catch ex As Exception
                    End Try
                End If
            End If
        End If
    End Sub

挨拶トビ

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