アウトラインを使用したコードの非表示

SQL Server Management Studio のクエリ エディタのアウトライン機能を使用して、クエリの編集時にコードを選択して非表示にすることができます。これにより、特に大きなクエリ ファイルでは、作業中のコードを見やすくすることができます。

アウトラインの概要

既定では、クエリ エディタ ウィンドウを開くとすべてのコードが表示されます。コード領域は折りたたんで非表示にすることができます。エディタ ウィンドウの左端にある垂直線では負符号 (-) の付いた正方形を使用して、折りたたむことができるコード領域の先頭をそれぞれ識別します。負符号をクリックすると、コード領域のテキストが 3 つのピリオド (…) の付いたボックスに置き換わり、負符号が正符号 (+) に変わります。正符号をクリックすると、折りたたまれていたコードが表示され、正符号が負符号に変わります。ポインタを 3 つのピリオドの付いたボックス上に移動すると、折りたたまれているセクションのコードを示すツールヒントが表示されます。

システムのアウトライン領域

SQL Server Management Studio の各エディタでは、システム定義のアウトライン領域の既定のセットが生成されます。

MDX と DMX のコード エディタでは、複数行にわたるステートメントごとにアウトライン領域が作成されます。これは、このようなエディタがサポートする唯一のアウトライン レベルです。

Analysis Services の XMLA クエリ エディタの領域

Analysis Services の XMLA クエリ エディタでは、複数行にわたる XML 属性ごとにアウトライン領域が生成されます。エディタは、入れ子になったタグのアウトライン領域は入れ子にします。たとえば、XMLA エディタでは次のドキュメントに対して 3 つのアウトライン領域を作成します。

アウトラインを示す XML コード

<InnerTag> 行の負符号をクリックすると、次の図に示すように InnerTag だけが折りたたまれます。

内部ノードが非表示になっている XML コード

ポインタを 3 つのピリオド (…) の付いたボックス上に移動すると、次の図に示すように、折りたたまれた領域のコードがツールヒントに表示されます。

非表示コードを示すツールヒント付きの XML コード

<MiddleTag> 行の負符号をクリックすると、次の図に示すように MiddleTag と InnerTag の両方が折りたたまれます。

内部および中間タグが非表示になっている XML コード

<OuterTag> 行の負符号をクリックすると、次の図に示すように 3 行すべてが折りたたまれます。

3 つのすべての非表示タグを示す XML コード

データベース エンジンのクエリ エディタの領域

データベース エンジンのクエリ エディタでは、次の階層で要素ごとにアウトライン領域が生成されます。

  1. バッチ。最初のバッチは、ファイルの先頭から最初の GO コマンドまでのコードか、GO コマンドがなければファイルの末尾までのコードです。最初の GO の後は、各 GO コマンドから次の GO コマンドまで、またはファイルの末尾までが 1 つのバッチです。

  2. 次のキーワードで区切られるブロック。

    • BEGIN - END

    • BEGIN TRY - END TRY

    • BEGIN CATCH - END CATCH

  3. 複数行にわたるステートメント。

たとえば、データベース エンジンのクエリ エディタでは、次のクエリに対して 3 つのアウトライン領域が作成されます。

CREATE PROCEDURE Sales.SampleProc --Outline region 1
AS
BEGIN --Outline region 2 
  SELECT GETDATE() AS TimeOfQuery;
  SELECT * --Outline region 3
  FROM sys.transmission_queue;
  SELECT @@VERSION;
END;
GO

SELECT * 行の負符号をクリックして、その SELECT ステートメントのみを折りたたむことができます。BEGIN - END ブロック全体を折りたたむには、BEGIN 行の負符号をクリックします。GO コマンドまでのバッチ全体を折りたたむには、CREATE PROCEDURE 行の負符号をクリックします。SELECT GETDATE() 行または SELECT @@VERSION 行は、単一行のステートメントでアウトライン領域にはならないため、個別に折りたたむことはできません。