コードのブロックを選択するためのショートカット/スニペット


8

Windows 10でSQL Server Management Studio 2016を使用しています。実行するコードを選択するためにShift / Ctrl + Up / Down / Right / Leftキーを使用するのにうんざりしています。空白行で他のコードから分離されたコードのブロックを選択するショートカット/スニペットがあるかどうか疑問に思っていますか?

次にコード例を示します。

select *
from tab1

select *
from tab2

select *
from tab3

たとえば、カーソルが中央のブロック内にあり、中央のブロックを選択するための最良の方法は何ですか?


1
JetBrains DataGrip(Ctrl + Enter)。安い。暗いUIも。
ネルズ

回答:


4

私はRed-Gateとは関係ありませんが、Shift-F5を押すと、SQLプロンプトの新しいコピーを所有しているときに、カーソルが置かれているクエリが緑色になり、実行されることを指摘します。

それは本当に私に多くのキーストロークを救ってくれました。


回答ありがとうございます!私はsqlを迅速に試しましたが、それは素晴らしかったです!トライアル後に購入を考えます!
Jason

1
このメソッドを使用して、実行されたコードブロックをコピーできないため、実際にはコードが選択されないことに注意してください。
Thomas Rushton 2017年

4

Autohotkeyを使用して、コードのブロックを選択するソリューションを開発することができました。これが私が持っているスクリプトです。

!b::

send ^f

sendraw ^\r$

send {F3}

send +{F3}

send {Esc}

send {down}

send ^{=}

return

具体的には、Alt + Bを押すとこのスクリプトが呼び出され、スクリプトはカーソルが置かれているコードのブロックを選択します。コードのブロックは、空白行によって他のコードのブロックから分離する必要があることに注意してください。中に空白行を入れることはできません。

aboutスクリプトの主な手順は次のとおりです。

  • 正規表現「^ \ r $」を使用して、カーソルの上下の空白行を検索します

  • カーソルをこれら2つの空白行に1つずつ移動します

  • ctrl + =を使用して、これら2つの空白行の間のコードブロックを選択します。

!/ ^ / +は個別にalt / ctrl / shiftであることに注意してください。


AutoHotKeyでこれができるとは知りませんでした。SQLプロンプトよりもはるかに安価です。投稿ありがとうございます。
Henrik Staun Poulsen 2017

3

SSMS内のコードのブロックをすばやく選択する1つの方法-は、SQLステートメントの先頭のキーワード(SELECT、UPDATE、DELETE、WITHなど)の横にあるボタンを使用してコードを最小化し、その行を強調表示して押しF5て実行することです。

ここに画像の説明を入力してください

SSMSのバージョン(この場合は明らかに新しいバージョンが推奨されます)によっては、セクションを折りたたむ/展開するために使用できるキーボードショートカットもいくつかあります。キーボードショートカットのリンクホットキーが既に設定されているにサイモンHellings'早い応答暗示が提供する、私は、彼らが実際に作業を確認することはできません。ただし、次のように、いくつかのカスタムホットキーを設定してこれを行うことができます。

  1. 我々はのためのホットキーを設定することに関係している機能は下にありEdit- > Outliningメニューオプション: ここに画像の説明を入力してください

  2. ホットキーを設定するには、Tools-> Options...-> Environment-> Keyboard->に移動しKeyboardます。入力Outlin含む表示コマンド:ボックスをオンにします。その後のための新しいショートカットキーの組み合わせを割り当てるEdit.ToggleAllOutliningと、Edit.ToggleOutliningExpansionキーを押しAssignここに画像の説明を入力してください

  3. ここで、[OK]を押した後のショートカットを確認すると、ショートカットキーが期待どおりに機能するはずです。あなたが見ることができるように、私はに地雷を割り当てCTRL+ALT+Left ArrowCTRL+ALT+Right Arrow、しかし、あなたはあなたが欲しいものは何でも使用することができます。 ここに画像の説明を入力してください

最後に、これが機能しない場合は、別のSQLクライアントに切り替える必要があるかもしれません。必要な機能は、CTRL + ENTEROracle SQL Developerを介してOracle PL / SQLブロックを実行するのに似ているようです。あなたはできるサードパーティ・データベースのJDBCドライバ(使用してSQL Serverに接続するには、Oracle SQL Developerを使用してREFを)、私はそれをお勧めしません。


はい、これだけで、ToadをインストールしてF9を使用できます。しかし、ヒキガエルには独自の癖があります。
crokusek 2017年

お返事をありがとうございます!マウスを使用せずにツリーノードを折りたたむにはどうすればよいですか?
ジェイソン

@ジェイソン-キーボードショートカットで回答を更新しました。私が提供したURLリンクで示されているように、この機能はすべてのバージョンで利用できなかったため、新しいバージョンのSSMSが必要になります。
John Eisbrener 2017年

@JohnEisbrener、あなたの助けに感謝し、私はそれらをチェックします!
Jason

@JohnEisbrener、私はあなたが提案した新しいキーボードショートカットをテストしようとしていましたが、どれも私にとってはうまくいきませんでした。SSMSの最新バージョンであるバージョン13.0.16106.4を使用しています。あなたは自分でそれらをテストしたことがありますか?
Jason

2

up/ down/ right/ leftキーを使用して、実行するコードを選択しないでください。

コンピューターのマウスを使用できると仮定して、次のようにします。

  1. コンピュータのマウスを使用して、含まれる最初の文字にカーソルを移動します。
  2. を押したままCtrlキーを押し続け、次にマウスを移動して、含まれる最後の文字を含めます。
  3. 続行を保持Ctrl押して、キーをE強調表示されたテキストを実行しますキーを押します。

実行したばかりのコードを削除する場合は、キーを押し続けてからCtrlキーを押しDeleteます。

誰かが自動的にそれを行うためのツールを作成した可能性があると思います。


お返事をありがとうございます!マウスでctrl / shiftを使用してコードを選択し、ショートキー/スニペットに比べて遅いと感じる方法を知っています。コードを自動的に選択できるショートキー/スニペットを知っていますか?
ジェイソン

4
@RLF、私はあなたの回答にトローリングの成功への賛成票を差し上げます(意図的かどうかは関係ありません。)
Daniel Hutmacher

1

これが可能だとは思いません。デフォルトのすぐに使えるショートカットの完全なリストは、ここにあります。ツール->オプションメニューから何かをカスタマイズできる場合があります


ご回答有難うございます!ショートキーが不可能な場合、これのスニペットを知っていますか?
Jason

考えられないことではありません
Simon Hellings 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.