16

SQL Server Management Studio 2012 で一致する begin ステートメントと end ステートメントを見つける方法は? いくつかのレベルの複数ページがネストされた if ステートメントを持つ非常に長いストアド プロシージャがあります。SQL はすでにフォーマットされています。私の質問はこれと非常に似ていますが、現在 Visual Studio Shell を使用している SSMS 2012 を使用しています。MS がこの機能を追加したのか、それともそれを行う外部ツールまたは SSMS プラグインがあるのか​​疑問に思っていました。

それ以外の場合は、古い質問の解決策に頼る必要があります。

4

5 に答える 5

32

誰かがまだこれに対する答えを探しているなら、それはCTRL+]です。

于 2016-09-15T18:31:29.227 に答える
11

BEGIN / END で問題なくコードを折りたたむことができるようです。[ツール] > [オプション] > [テキスト エディター] > [Transact-SQL] で設定を確認します。

ここに画像の説明を入力

また、[ツール] > [オプション] > [テキスト エディター] > [Transact-SQL] > [IntelliSense] の下で、"アウトライン ステートメント" をオンにして、IntelliSense を有効にしていることに注意してください。

ここに画像の説明を入力

行番号は本当に役に立ちます。BEGIN を含む行を折りたたむと、次の行番号はENDの後の行番号になります。

ここに画像の説明を入力

于 2012-08-30T22:53:40.063 に答える
5

これは答えではありません。まだコメントするのに十分な評判がありません。

あなたが言及した他のトピックで指摘された解決策以外に、方法はないと思います。私がやっていることは、 を削除し、もう一度END書くことです。それは灰色になり、 これに一致する も同様に灰色になります。次に、コード内で灰色の単語を検索します。ENDBEGINEND

于 2012-08-30T22:08:04.337 に答える
2

必要な関数はEdit.GotoBraceと呼ばれ、SSMS v 2008と2012に存在します。これには、ssmsの言語バージョンに応じて異なるショートカットがあります。SSMS2008ENとSSMS2012ドイツ語を使用しています。キーボードレイアウトはドイツ語です。したがって、ショートカットは次のとおりです。

SSMS 2008 EN

一致する開始/終了を見つけるだけです

Edit.GotoBrace Text Editor::Ctrl+´

同じですが、選択を拡張します

Edit.GotoBraceExtend Text Editor::Ctrl+Shift+´

SSMS2012ドイツ語

Edit.GotoBrace (Bearbeiten.GehezuKlammer) Text-Editor::Ctrl+´

Edit.GotoBrace (Bearbeiten.GehezuKlammer) Text-Editor::Ctrl+9

Edit.GotoBraceExtend (Bearbeiten.ErweiternbisKlammer) Text-Editor::Ctrl+Shift+´

Edit.GotoBraceExtend (Bearbeiten.ErweiternbisKlammer) Text-Editor::Ctrl+Shift+9

SSMS 2012では、ネイティブキーボードショートカットマネージャーを使用して、このコマンドまたはその他のコマンドのショートカットを表示/変更できます。ただし、ネイティブコマンドには1つの欠点があります。ペアのトークンにジャンプするには、開始/終了する必要があります。

私はssms用の無料のアドインを開発し、昨日改善された機能を実装しました。これにより、ネストされたコードの任意の位置から親の開始/終了タグにジャンプできます。次のリリースで利用できるようになります。ですから、私のアイデアが気に入ったら、次のリリースまで待ってください。アドインはSSMSBoostと呼ばれます。私はまたあなたの質問への迅速な答えを見つけるためにそれを使用しました:-それはssmsで利用可能なすべての機能の完全なリストを作る「ダンプSSMSショートカット」と「ダンプSSMSコマンド」機能を持っています(そしてそれはでショートカットを再定義することを可能にしますショートカットマネージャーがないSSMS2008)

于 2012-08-30T22:15:16.120 に答える