2

SSMS エディタで、コメントが折りたたまれたときに次々と配置される 2 つのコメント ブロックを視覚的に分離する方法はありますか?

以下のリンクを見てください。このコードはデモンストレーションのみを目的としていることを忘れないでください。

ここに画像の説明を入力

このコードを SSMS エディターで折りたたむと、コメント付きのコードがすべて折りたたまれていることがわかります。

以下のように、各コメントブロックを個別の折りたたまれた領域として表示できるようにしたい (これは編集された画像です) -

ここに画像の説明を入力

GO の使用を検討しましたが、私の場合、このコードはストアド プロシージャの一部であり、コードのこの部分をカプセル化する BEGIN と END があるため、機能しません。

BEGIN/END を使用することを考えましたが、コメントしかなく、中に入るコードがないため、それも機能しません。

私が思いついた最も近い回避策は、空白の PRINT '' を使用することですが、これは冗長であり、常にアプリケーションから呼び出され、決して実行されないストアド プロシージャ内で使用すると逆効果でさえあると思います。デバッグ時以外は SSMS。

誰かがこれについて何か考えを持っていますか? 無料のサードパーティ製プラグインの提案/指示も大歓迎です。

4

2 に答える 2

3

コメントが 1 つの領域に折りたたまれずにそれを行う方法はわかりません。

SQL Server 2008 Management Studio (およびおそらく最新のもの) では、{$REGION}少なくとも折りたたまれた領域に名前を付けたり説明したりする方法を提供するために使用できます。これは役立つ場合があります。

{$REGION "Comment One"}
-- This is comment one
{$ENDREGION}

SELECT dbo.

{$REGION "This is comment two"}
-- This is a separate comment
{$ENDREGION}

SELECT ...

SSMS イメージ キャプチャ

ただし、2 つのリージョン間にコンテンツが存在する必要があります。そうしないと、1 つにマージされてしまいます。

上記は/*..*/、コメント内に埋め込まれている間も機能しますが (これ@scriptfromscratch の有効な T-SQL です)、コメント間にコンテンツがない限り、コメントをマージします。

/* {$REGION  "Test region 1"}
-- This is a test comment
{$ENDREGION}
*/

SELECT dbo.something

/* {$REGION "Test region 2"}
This is test comment 2
{$ENDREGION}
*/

SELECT dbo.

埋め込み領域

埋め込まれた領域が折りたたまれました

この機能を提供する何らかのサードパーティ製ツールが必要になるように思えますが、残念ながら、これを行うツールを知りません。

于 2012-09-26T01:49:43.290 に答える
0

これが古いスレッドであることは知っていますが、私が使用する簡単な解決策が見当たらないので、私が参加したいと思いました.

私は主にブロック コメントを使用する傾向があり、1 行または短い行しかないインライン コメントを使用します。ブロック コメントの終了タグの後にセミコロンが続く場合は、以下に示すように、隣接するブロックを個別に折りたたむことができます。

参考までに、これは SSMS 2012 で機能します。他のバージョンについては保証できません。

隣接するコメント ブロックとそれに続くセミコロン

隣接するコメント ブロックが折りたたまれている

残念ながら、これは隣接するインライン コメントに対しては機能しません。OPはおそらく、ブロックコメントを使用して、隣接する/関連するコメントを別々のブロックに囲む方がよいでしょう。

ケン・ホワイトは正しい方向に$REGION進んでいますが、私の意見ではそのようなものは不要です。次のアプローチは、まったく同じ効果を実現しますが、はるかにクリーンです。

簡単なタイトルのコメント ブロック

シンプルなタイトルの折りたたまれたコメント ブロック

コマンドをグループ化するために使用することは、ブロック$REGIONの目に余る使用がBEGIN END同じ仕事をするので、同様に扱いにくいでしょう。混乱を避けるために、適切にインデントすることを忘れないでください。

楽しみ

于 2014-06-03T13:44:48.347 に答える