19

SSMSにテキスト編集マクロを実装する方法はありますか?たとえば、以下に示すようにコードを変換したいのですが、キーを押すだけで、長時間の正規表現の検索と置換はできません。

これ:

INSERT INTO [TABLE]
           ([fieldOne]
           ,[fieldTwo])
     VALUES
           (<fieldOne, datetime,>
           ,<fieldTwo, real(24,0))

これになる必要があります:

INSERT INTO [TABLE]
           ([fieldOne]
           ,[fieldTwo])
     VALUES
           (@fieldOne
           ,@fieldTwo)

SSMSはこれをネイティブにサポートしていないことは知っていますが、文書化されていない場合は拡張可能であり、コピーしたテキストを取得して変換し、開くことなく貼り付ける完全に外部のアプリケーションの余地もあります。エディター、貼り付け、編集、コピー、およびSSMSへの貼り付け。

保存されたテンプレートを編集することはオプションではありません。これらのテンプレートは動的に生成されるためです。また、Ctrl + Shift + Mを使用することもオプションではありません。各パラメーター名を入力する必要がありますが、クエリにコピーして貼り付ける必要はありません。編集者。

SSMSソリューションはありません!私はこれを行うのに役立つある種の外部ブードゥーを探しています。

4

6 に答える 6

11

AutoHotKeyスクリプトはどうですか?

テンプレートの複雑さに応じて、次のいずれかを行うことができます

  1. AutoHotKey を使用して、正規表現の検索と置換に必要なキーストロークを再生する、または
  2. テンプレートをクリップボードにコピーし、貼り付ける前に AutoHotKey 内で直接操作します。

最初のオプションが機能すると確信しています。2番目は試していません。

この質問は、AutoHotKey スクリプトを記述してキーボード コードをリッスンする方法を示しています。

于 2009-03-16T08:43:56.303 に答える
7

SSMS 2005 以降を使用している場合は、テンプレートのサポートが組み込まれています。本格的なマクロではありませんが、それでもかなり便利です。

構文は、最初のコード スニペットで示したとおりであり、Ctrl+Shift+M を押すだけでダイアログ ボックスが表示され、山かっこで囲まれたビットに値を入力するよう求められます。

テーブルを右クリックして [テーブルのスクリプト] を選択し、挿入、更新、または削除のいずれかのオプションを選択すると、SQL サーバーはこの形式でスクリプトを生成します。

独自のカスタム テンプレートを作成したり、既存の組み込みテンプレートの 1 つを変更したりすることもできます ([表示] -> [テンプレート エクスプローラー] をクリックして、他の組み込みテンプレートにアクセスします)。

テンプレートを使い始める方法を説明する短い記事が MSDN にあります。

于 2009-03-15T11:30:35.333 に答える
1

SSMS 2016 では、私のVisual Commander拡張機能を使用できます。マクロの記録/再生、およびエディターのテキスト操作用のカスタム C#/VB コマンドをサポートしています。

于 2016-08-28T02:56:21.073 に答える
1

他のものを探していましたが、この質問を見つけました。まだ何かを探している場合は、SSMS ツールパックを試してみてください: http://www.ssmstoolspack.com/マクロやその他の優れた機能が多数含まれています。そしてそれは無料です!

于 2011-01-12T17:49:29.913 に答える
0

最初のコードは、古き良き MS Query Analyzer のテンプレートです。塗りつぶしのショートカットはCtrl+Mです (よくわかりませんが、Ctrl+Shift+M かもしれません)。

新しい SSMS にも同じ機能があるはずです。

于 2009-03-15T11:49:09.550 に答える
0

私は通常、コードを別のエディター (Notepad++、または Delphi /RAD Studio エディター) にコピーし、マクロを実行してから、SSMS に貼り付けます。

于 2014-10-29T08:49:27.127 に答える