次の方法で共有


コードの構造化

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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

アウトラインの概要

既定では、クエリ エディター ウィンドウを開くと、すべてのコードが表示されます。 コードの領域を折りたたんで非表示にすることができます。 エディター ウィンドウの左端の垂直線では、負符号 (-) を持つ四角形を使用して、折りたたみ可能な各コード領域の開始を識別します。 マイナス記号を選択すると、コード領域のテキストが 3 つのピリオド (...) を含むボックスに置き換えられ、マイナス記号はプラス記号 (+) に変わります。 プラス記号を選択すると、折りたたまれたコードが表示され、プラス記号がマイナス記号に変わります。 3 つのピリオドを持つボックスの上にポインターを移動すると、折りたたまれたセクションのコードを示すヒントが表示されます。

コードアウトラインを有効または無効にする

この設定を管理するには、[ツール]>[オプション]に移動し、[テキスト エディター] セクションを展開し、IntelliSense 選択します。 コードアウトラインを無効にするには、Outline ステートメント チェック ボックスをオフにします。 コードアウトラインは既定で有効になっています。

システム概要領域

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

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

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

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

アウトラインを示す XML コードのスクリーンショット。

<InnerTag> 行でマイナス記号を選択すると、次の図に示すように、InnerTag だけが折りたたまれます。

内部ノードが非表示になっている XML コードのスクリーンショット。

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

非表示のコードを示すツールヒントを含む XML コードのスクリーンショット。

<MiddleTag> 行でマイナス記号を選択すると、次の図に示すように、MiddleTagInnerTag の両方が折りたたまれます。

内側と中央のタグが非表示になっている 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 行は、単一行ステートメントであり、アウトライン領域を取得しないため、個別に折りたたむことはありません。